Книга: JavaScript. Подробное руководство, 6-е издание

17.2.4. attachEvent()

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);

Оглавление книги


Генерация: 0.058. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз