Event

Интерфейс Event представляет собой любое событие, которое происходит в DOM; некоторые из них генерируемые пользователем (клик мышью или нажатие клавиши на клавиатуре), а некоторые - генерируемые API (события, обозначающие завершение процесса анимации, приостановка видео и т.д.). Существует много типов событий, некоторые из них используют интерфейсы, базирующиеся на главном интерфейсе Event. Event содержит общие свойства и методы для всех событий.

Интерфейсы, основанные на Event

Ниже приведён список интерфейсов, основанных на главном интерфейсе Event, а также указаны ссылки на них в документации MDN API. Заметьте, что имена всех интерфейсов оканчиваются на "Event".

Конструктор

Event()
Создаёт объект Event и возвращает его вызывающему.

Свойства

Event.bubbles Только для чтения
Логическое значение, указывающее, всплыло ли событие вверх по DOM или нет.
Event.cancelBubble (en-US)
Историческое название синонима Event.stopPropagation(). Если установить значение в true до возврата из обработчика события (Event Handler), то событие не будет распространяться дальше (например, на обработчики для родительских узлов).
Event.cancelable Только для чтения
Логическое значение, показывающее возможность отмены события.
Event.composed (en-US) Только для чтения
Логическое значение, показывающее может или нет событие всплывать через границы между shadow DOM (внутренний DOM конкретного элемента) и обычного DOM документа.
Event.currentTarget Только для чтения
Ссылка на текущий зарегистрированный объект, на котором обрабатывается событие. Это объект, которому планируется отправка события; поведение можно изменить с использованием перенаправления (retargeting).
Event.deepPath (en-US)  Это API не было стандартизировано.
Массив DOM-узлов, через которые всплывало событие.
Event.defaultPrevented Только для чтения
Показывает, была ли для события вызвана функция event.preventDefault().
Event.eventPhase Только для чтения
Указывает фазу процесса обработки события.
Event.explicitOriginalTarget (en-US) Это API не было стандартизировано. Только для чтения
Явный первоначальный целевой объект события (Mozilla-специфичный). Не может содержать анонимного контента.
Event.originalTarget (en-US) Это API не было стандартизировано. Только для чтения
Первоначальный целевой объект события до перенаправлений (Mozilla-специфичный). Может быть из анонимного контента.
Event.returnValue (en-US) Это API не было стандартизировано.
Нестандартная альтернатива (оставшаяся от старых версий Microsoft Internet Explorer) для Event.preventDefault() и Event.defaultPrevented.
Event.scoped (en-US) Только для чтения Этот API вышел из употребления и его работа больше не гарантируется.
Логическое значение, показывающее всплывает ли данное событие через shadow root (внутренний DOM элемента). Это свойство было переименовано в  composed (en-US).
Event.srcElement Это API не было стандартизировано.
Нестандартный синоним (остался от старых версий Microsoft Internet Explorer) для Event.target.
Event.target Только для чтения
Ссылка на целевой объект, на котором произошло событие.
Event.timeStamp Только для чтения
Время, когда событие было создано (в миллисекундах). По спецификации это время от начала Эпохи (Unix Epoch), но в действительности в разных браузерах определяется по-разному; кроме того, ведётся работа по изменению его на DOMHighResTimeStamp тип.
Event.type Только для чтения
Название события (без учёта регистра символов).
Event.isTrusted Только для чтения
Показывает было или нет событие инициировано браузером (например, по клику мышью) или из скрипта (например, через функцию создания события, такую как event.initEvent)

Методы

 

Event.createEvent() (en-US) 

Создаёт новое событие, которое затем должно быть проинициализировано вызовом его метода initEvent().

 

Event.initEvent() Это устаревшее API больше не должно использоваться, но оно по-прежнему может работать.
Инициализация значений созданного с помощью Document.createEvent() события. Если событие уже отправлено, то эта функция ничего не делает.
Event.preventBubble() Это API не было стандартизировано. Вышла из употребления с версии Gecko 24
Предотвращает всплытие события. Устаревшая, используйте вместо неё event.stopPropagation.
Event.preventCapture() Это API не было стандартизировано. Вышла из употребления с версии Gecko 24
Устаревшая, используйте вместо неё event.stopPropagation.
Event.preventDefault()
Отменяет событие (если его возможно отменить).
Event.stopImmediatePropagation()
Для конкретного события не будет больше вызвано обработчиков. Ни тех, которые привязаны к этому же элементу (на котором работает обработчик, который вызывает этот Event.stopImmediatePropagation()), ни других, которые могли бы вызваться при распространении события позже (например, в фазе перехвата - capture).
Event.stopPropagation()
Остановка распространения события далее по DOM.
Event.getPreventDefault() Это API не было стандартизировано.
Нестандартная. Возвращает значение Event.defaultPrevented. Используйте вместо неё Event.defaultPrevented.

Спецификации

Спецификация Статус Комментарий
DOM
Определение 'Event' в этой спецификации.
Живой стандарт  

Совместимость браузеров

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help! (en-US)

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка (Да) (Да) (Да) (Да) (Да)
cancelBubble определён в  Event ? 53 (53)[1] ? ? ?
Возможность Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка (Да) (Да) (Да) (Да) (Да)
cancelBubble определён в Event ? 53.0 (53)[1] ? ? ?

[1] До Firefox 52, это свойство было определено в интерфейсе UIEvent (en-US). Для деталей смотрите баг 1298970.

Смотрите также