Event
=====

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

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

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

* `AnimationEvent`
* `AudioProcessingEvent` (en-US)
* `BeforeInputEvent`
* `BeforeUnloadEvent`
* `BlobEvent` (en-US)
* `ClipboardEvent`
* `CloseEvent` (en-US)
* `CompositionEvent` (en-US)
* `CSSFontFaceLoadEvent`
* `CustomEvent` (en-US)
* `DeviceLightEvent`
* `DeviceMotionEvent` (en-US)
* `DeviceOrientationEvent` (en-US)
* `DeviceProximityEvent`
* `DOMTransactionEvent`
* `DragEvent` (en-US)
* `EditingBeforeInputEvent`
* `ErrorEvent` (en-US)
* `FetchEvent`
* `FocusEvent` (en-US)
* `GamepadEvent`
* `HashChangeEvent` (en-US)
* `IDBVersionChangeEvent` (en-US)
* `InputEvent` (en-US)
* `KeyboardEvent`
* `MediaStreamEvent` (en-US)
* `MessageEvent` (en-US)
* `MouseEvent`
* `MutationEvent` (en-US)
* `OfflineAudioCompletionEvent` (en-US)
* `PageTransitionEvent` (en-US)
* `PointerEvent` (en-US)
* `PopStateEvent` (en-US)
* `ProgressEvent` (en-US)
* `RelatedEvent`
* `RTCDataChannelEvent` (en-US)
* `RTCIdentityErrorEvent`
* `RTCIdentityEvent`
* `RTCPeerConnectionIceEvent` (en-US)
* `SensorEvent`
* `StorageEvent` (en-US)
* `SVGEvent` (en-US)
* `SVGZoomEvent`
* `TimeEvent` (en-US)
* `TouchEvent`
* `TrackEvent` (en-US)
* `TransitionEvent` (en-US)
* `UIEvent` (en-US)
* `UserProximityEvent`
* `WebGLContextEvent` (en-US)
* `WheelEvent` (en-US)
Конструктор
-----------

`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) 
Non-standard

`Массив` DOM-`узлов`, через которые всплывало событие.

`Event.defaultPrevented` Только для чтения 

Показывает, была ли для события вызвана функция `event.preventDefault()`.

`Event.eventPhase` Только для чтения 

Указывает фазу процесса обработки события.

`Event.explicitOriginalTarget` (en-US) 
Non-standard
 Только для чтения 

Явный первоначальный целевой объект события (Mozilla-специфичный). Не может содержать анонимного контента.

`Event.originalTarget` (en-US) 
Non-standard
 Только для чтения 

Первоначальный целевой объект события до перенаправлений (Mozilla-специфичный). Может быть из анонимного контента.

`Event.returnValue` (en-US) 
Non-standard

Нестандартная альтернатива (оставшаяся от старых версий Microsoft Internet Explorer) для `Event.preventDefault()` и `Event.defaultPrevented`.

`Event.scoped` (en-US) Только для чтения 

`Логическое значение`, показывающее всплывает ли данное событие через shadow root (внутренний DOM-элемента). Это свойство было переименовано в `composed` (en-US).

`Event.srcElement` 
Non-standard

Нестандартный синоним (остался от старых версий Microsoft Internet Explorer) для `Event.target`.

`Event.target` Только для чтения 

Ссылка на целевой объект, на котором произошло событие.

`Event.timeStamp` Только для чтения 

Время, когда событие было создано (в миллисекундах). По спецификации это время от начала Эпохи (Unix Epoch), но в действительности в разных браузерах определяется по-разному; кроме того, ведётся работа по изменению его на `DOMHighResTimeStamp` тип.

`Event.type` Только для чтения 

Название события (без учёта регистра символов).

`Event.isTrusted` Только для чтения 

Показывает было или нет событие инициировано браузером (например, по клику мышью) или из скрипта (например, через функцию создания события, такую как event.initEvent (en-US))

Методы
------

`Event.createEvent()` (en-US)

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

`Event.initEvent()` 
Устарело

Инициализация значений созданного с помощью Document.createEvent() (en-US) события. Если событие уже отправлено, то эта функция ничего не делает.

`Event.preventBubble()` 
Non-standard

Предотвращает всплытие события. Устаревшая, используйте вместо неё `event.stopPropagation`.

`Event.preventCapture()` 
Non-standard

Устаревшая, используйте вместо неё `event.stopPropagation`.

`Event.preventDefault()`

Отменяет событие (если его возможно отменить).

`Event.stopImmediatePropagation()`

Для конкретного события не будет больше вызвано обработчиков. Ни тех, которые привязаны к этому же элементу (на котором работает обработчик, который вызывает этот Event.stopImmediatePropagation()), ни других, которые могли бы вызваться при распространении события позже (например, в фазе перехвата - capture).

`Event.stopPropagation()`

Остановка распространения события далее по DOM.

`Event.getPreventDefault()` 
Non-standard

Нестандартная. Возвращает значение `Event.defaultPrevented`. Используйте вместо неё `Event.defaultPrevented`.

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

| Specification |
| --- |
| DOM Standard # interface-event |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

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

* Типы событий: Event reference (en-US)
* Сравнение Event Targets (target и currentTarget и relatedTarget и originalTarget)
* Creating and triggering custom events (en-US)
* Для разработчиков дополнений Firefox:
    + Listening to events in Firefox extensions
    + Listening to events on all tabs
* Mozilla related events in real life at wiki.mozilla.org