Обработка событий в ИЕ 6 - 8
Доброго времени суток =)
Если открыть любую книгу или описание по 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 страшно использовать непонятные конструкции. Может кто сходу может описать возможные проблему использования это способа обработки события в ИЕ |
Часовой пояс GMT +3, время: 22:00. |