17.2.4. attachEvent()
Internet Explorer версии ниже IE9 не поддерживает методы addEventListener() и removeEventListener(). В версии IE5 и выше определены похожие методы, attachEvent() и detachEvent().
По своему действию методы attachEvent() и detachEvent() похожи на методы addEventListener() и removeEventListener() со следующими исключениями:
• Поскольку модель событий в IE не поддерживает фазу перехвата, методы attachEvent() и detachEvent() принимают только два аргумента: тип события и функцию обработчика.
• В первом аргументе методам в IE передается имя свойства обработчика с префиксом «on», а не тип события без этого префикса. Например, методу attachEvent() должно передаваться имя «опсііск», тогда как методу addEventListener() должно передаваться имя «click».
• Метод attachEvent() позволяет зарегистрировать одну и ту же функцию обработчика несколько раз. При возникновении события указанного типа зарегистрированная функция будет вызвана столько раз, сколько раз она была зарегистрирована.
Ниже показано, как обычно выполняется регистрация обработчика с помощью метода addEventListener() в броузерах, поддерживающих его, и с помощью метода attachEvent() в других броузерах:
var b = document.getElementByldC'mybutton");
var handler = function() { alert("Спасибо!"); };
if (b.addEventListener)
b.addEventListener("click", handler, false);
else if (b.attachEvent)
b.attachEvent("onclick", handler);
Больше книг — больше знаний!
Заберите 30% скидку новым пользователям на все книги Литрес с нашим промокодом
ПОЛУЧИТЬ СКИДКУ