JavaScript. Подробное руководство, 6-е издание, стр. 483
В стандартной модели событий для различных типов событий определены различные типы объектов событий, связанных с ними: по событиям мыши, например, обработчикам передается объект
<b>MouseEvent</b><b>KeyEvent</b><b>MouseEvent</b><b>KeyEvent</b><b>Event</b><b>Element</b><b>Element</b><b>Document</b><b>Window</b>Первоначально практически все события в клиентских сценариях генерировались в элементах документа, поэтому такое смешивание свойств, имеющих отношение к документу, в одном объекте выглядит вполне естественным. Однако HTML5 и связанные с ним стандарты определяют множество новых типов событий, которые генерируются в объектах, не являющихся элементами документа. Для этих типов событий часто определяются собственные объекты событий, и этим объектам посвящены собственные справочные статьи. См. статьи
<b>BeforeUnloadEvent, CloseEvent, ErrorEvent, HashChangeEvent, MessageEvent, PageTransitionEvent, PopStateEvent, ProgressEvent</b><b>StorageEvent</b><b>Event</b><b>Event</b><b>Event</b><b>Event</b><b>MessageEvent</b><b>Window</b><b>MediaElement</b>Константы
Следующие константы определяют значения свойства
<b>eventPhase</b><b>unsigned short CAPTURING.PHASE = 1</b>Событие посылается перехватывающим обработчикам событий в предках целевого объекта.
<b>unsigned short ATTARGET = 2</b>Событие посылается обработчикам целевого объекта
<b>unsigned short BUBBLING.PHASE = З</b>Событие всплывает и посылается обработчикам событий в предках целевого объекта.
Свойства
Следующие свойства определяются стандартной моделью для объекта
<b>Event</b><b>Event</b><b>readonly boolean altKey</b>Указывает, удерживалась ли нажатой клавиша Alt в момент события. Определено для событий мыши и клавиатуры, а также в модели событий IE.
<b>readonly boolean bubbles*</b>Значение true, если тип события поддерживает «всплытие» (и если не вызван метод
<b>stopPropagation()</b><b>readonly unsigned short button</b>Указывает, изменение состояния какой кнопки мыши вызвало событие «mousedown», «mouseup» или «click». Значение 0 соответствует левой кнопке, значение 2 -правой и значение 1 - средней кнопке мыши. Обратите внимание, что значение этого свойства определено только для событий, связанных с изменением состояния кнопки мыши - оно не используется, например, чтобы сообщить, какая кнопка удерживалась при возникновении события «mousemove». Кроме того, это свойство не является битовой маской: оно не позволяет сообщить обработчику об изменении состояния более чем одной кнопки. Наконец, некоторые броузеры генерируют события только для левой кнопки.
Модель событий IE определяет несовместимое свойство
<b>button</b><b>button</b><b>which</b><b>readonly boolean cancelable*</b>Значение true, если действие, предлагаемое по умолчанию и связанное с событием, может быть отменено с помощью метода
<b>preventDefault(),</b><b>boolean cancelBubble</b>В модели событий IE, чтобы в обработчике события остановить дальнейшее распространение события вверх по дереву вмещающих объектов, в это свойство нужно записать значение true. В стандартной модели событий для этой цели следует использовать метод
<b>stopPropagation().</b><b>readonly integer charCode</b>Для событий «keypress» это свойство содержит код Юникода сгенерированного печатного символа. Данное свойство равно нулю в случае нажатия функциональной клавиши. Оно не используется событиями «keydown» и «кеуир». Преобразовать это число в строку можно с помощью метода
<b>String.fromCharCode().</b><b>keyCode</b><b>keyCode</b><b>charCode</b>