Доброго времени суток =)
Если открыть любую книгу или описание по JS вы увидите следующую фразу, что в ИЕ объект события не передаётся в обработчик события.
Тем не менее на удивление данный код работает и работает правильно в ИЕ 6 7 8 (6 под XP на виртуалке стоит)
function addEvent(elem, eventType, eventHandler)
{
if(elem.addEventListener)
{
elem.addEventListener(eventType, eventHandler, false);
}
else if(elem.attachEvent)
{
elem.attachEvent('on'+eventType, eventHandler);
}
}
addEvent(document.body, 'click', onBodyClick );
function onBodyClick(someArg)
{
//someArg= someArg|| window.event;
alert(someArg); //[object - Event] or [object] or [object - MouseEvent]
if(someArg.target == document.body || someArg.srcElement == document.body)
alert('Body clicked');
}
Говорят, что браузер передаёт копию текущего объекта window.event
Также говорят, что на MSDN вразумительного объяснения или документации нет
Вот заметка автора книги The Definitive Javascript Guide
http://www.davidflanagan.com/2006/10...tachevent.html
Хотелось бы докопаться до истины =) В том смысле, что когда только начинаешь писать на JS страшно использовать непонятные конструкции.
Может кто сходу может описать возможные проблему использования это способа обработки события в ИЕ