Книга: JavaScript. Подробное руководство, 6-е издание
17.3.1. Аргумент обработчика событий
17.3.1. Аргумент обработчика событий
При вызове обработчика событий ему обычно (за одним исключением, о котором рассказывается ниже) передается объект события в виде единственного аргумента. Свойства объекта события содержат дополнительную информацию о событии. Свойство type
, например, определяет тип возникшего события. В разделе 17.1 упоминалось множество других свойств объекта события для различных типов событий.
В IE версии 8 и ниже обработчикам событий, зарегистрированным установкой свойства, объект события при вызове не передается. Вместо этого объект события сохраняется в глобальной переменной window.event
. Для переносимости обработчики событий можно оформлять, как показано ниже, чтобы они использовали переменную window.event
при вызове без аргумента:
function handler(event) {
event = event || window.event;
// Здесь находится реализация обработчика
}
Объект события передается обработчикам событий, зарегистрированным с помощью метода attachEvent(),
но они также могут использовать переменную window.event
.
В разделе 17.2.2 говорилось, что при регистрации обработчика события посредством HTML-атрибута броузер преобразует строку с программным кодом на языке JavaScript в функцию. Броузеры, отличные от IE, создают функцию с единственным аргументом event
. В IE создается функция, не принимающая аргументов. Если в таких функциях использовать идентификатор event
, он будет ссылаться на window.event
. В любом случае обработчики событий, определяемые в разметке HTML, могут ссылаться на объект события, используя идентификатор event
.
- 17.3.6. Распространение событий
- 17.3. Вызов обработчиков событий
- 19.4.2. Обработчики событий в библиотеке jQuery
- 19.4.4. Дополнительные способы регистрации обработчиков событий
- 19.4.6. Возбуждение событий
- Обработчики событий
- Аргументы событий
- Добавление обработчика событий
- Раздел VII Левиафан в Сети: защита права на тайну частной жизни после событий 2013 г.
- Аргументы функции в Python
- Расширение механизма событий
- Фактические аргументы