В IE 4 обработчики событий регистрируются так же, как и в исходной модели об_ работки событий Level 0: указанием их в виде HTML_атрибутов или присваива_ нием функций свойствам_обработчикам событий элементов документа.
IE 5 и более поздние версии предоставляют методы attachEvent() и detachEvent(), которые реализуют возможность регистрации более одной функции_обработчи_ ка для события заданного типа в заданном объекте. При вызове обработчику со_ бытия, зарегистрированному с помощью метода attachEvent(), в качестве аргу_ мента будет передана копия глобального объекта window.event.
function highlight() { /* Тело обработчика события */ }
document.getElementById("myelt").attachEvent("onmouseover", highlight);
Методы attachEvent() и detachEvent() работают аналогично методам addEventLis_ tener() и removeEventListener() со следующими исключениями:
428 Глава 17. События и обработка событий

• Поскольку модель обработки событий IE не поддерживает возможность пере_ хвата событий, методы attachEvent() и detachEvent() ожидают всего два аргу_ мента: тип события и функцию_обработчик.
• Имена обработчиков событий, передаваемых методу в IE, должны включать префикс «on». Например, методу attachEvent() следует передавать строку "on_ click", а не "click", как методу addEventListener().
• Функции, регистрируемые с помощью attachEvent(), вызываются как гло_ бальные функции, а не как методы элемента документа, в котором произош_ ло событие. То есть когда исполняется обработчик события, зарегистрирован_ ный с помощью attachEvent(), ключевое слово this ссылается на объект Win_ dow, а не на целевой элемент события.
• Метод atachEvent() позволяет зарегистрировать несколько раз функцию_обра_ ботчик события с тем же именем. Когда произойдет событие заданного типа, функция_обработчик вызывается столько раз, сколько она была зарегистри_ рована.