Event

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

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

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

Конструктор

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

Свойства

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

Методы

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

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

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

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

Возможность 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 53, это свойство было определено в интерфейсе UIEvent. Для деталей смотрите баг 1298970.

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

Метки документа и участники

 Внесли вклад в эту страницу: pk.prog, emil4, Sasha4ever
 Обновлялась последний раз: pk.prog,