До сих пор обсуждались традиционная модель обработки событий уровня 0, а так_ же новая модель стандарта DOM Level 2. С целью сохранения обратной совмести_ мости броузеры, поддерживающие модель Level 2, продолжают поддерживать и модель обработки событий Level 0. Это означает, что существует возможность использовать обе модели обработки событий в пределах одного документа.
Важно понимать, что веб_броузеры, поддерживающие модель обработки собы_ тий Level 2, всегда передают объект события обработчикам событий, даже тем из них, которые зарегистрированы установкой HTML_атрибута или JavaSсript_ свойства с использованием модели Level 0. Когда обработчик события определя_ ется как HTML_атрибут, он неявно преобразуется в функцию, которая принима_ ет аргумент с именем event. Это означает, что такие обработчики событий могут использовать идентификатор event для обращения к объекту события. (Позднее вы увидите, что указание идентификатора event в HTML_атрибутах допускается также при использовании модели обработки событий IE.)
Стандарт DOM учитывает то обстоятельство, что модель обработки событий уровня 0 по_прежнему остается в обиходе, а потому указывает, что реализация модели Level 0 должна трактовать зарегистрированные в этой модели обработ_ чики так, как если бы они были зарегистрированы методом addEventListener(). То есть, если функция f присваивается свойству onclick элемента e документа
| 17.3. Модель обработки событий Internet Explorer
|
|
|
|
|
(или установкой соответствующего HTML_атрибута onclick), это эквивалентно следующему вызову функции регистрации:
e.addEventListener("click", f, false);
Когда вызывается функция f, ей в виде аргумента передается объект события, несмотря даже на то, что она была зарегистрирована с использованием модели Level 0.