coderex coderex - 1 month ago 7
Javascript Question

IE e.target.id is not working

document.click = check;

function check(e)
{
var obj = document.getElementById('calendar_widget');

if (obj != 'null')
{
if (e.target.id != 'show_calender')
obj.style.display='none';
}
}


Error is in Internet Explorer: e.target.id is undefined.

Answer

IE doesn't support the target property, they use srcElement instead.

Change:

if (e.target.id != 'show_calender')

to:

if ((e.target || e.srcElement).id != 'show_calender')

You may also need to add this to the beginning of your function:

if (!e) e = window.event

Your final code would look like this:

function check(e) { 
    if (!e) e = window.event;
    var obj = document.getElementById('calendar_widget');

    if (obj != 'null') {
        if ((e.target || e.srcElement).id != 'show_calender')
                obj.style.display='none';
    }
}