Internet Explorer, начиная с 9-й версии, будет поддерживать метод addEventListener() для навешивания событий, согласно стандарту.
В предыдущих версиях IE (до IE8 включительно) для этой цели использовался нестандартизированный метод attachEvent().
Эта новость может служить ярким примером того, что при создании разных версий кода для различных браузеров не нужно опираться на название браузера, а нужно смотреть на его поддержку тех или иных объектов, свойств, методов.
Пример:
// Проверяем, поддерживает ли браузер стандартный метод "addEventListener"
// (определяем не браузер, а его возможность)
if("addEventListener" in myDOMElem) {
// выполнится для IE 9 и выше, и для всех остальных браузеров
myDOMElem.addEventListener("click", myHandler, false);
} else if ("attachEvent" in window) {
// выполнится для IE8 и ниже
myDOMElem.attachEvent( "onclick", myHandler);
}
Примечания:
В данном примере на DOM-элемент myDOMElem, навешивается функция обработки myHandler, которое должна сработать при щелчке на него (событие click).