Elide предоставляет Event, CustomEvent и EventTarget. Дерева DOM
нет, поэтому у отправки события одна цель и нет фаз перехвата и всплытия.
Event и CustomEvent
const event = new CustomEvent("tick", {
detail: 42,
cancelable: true,
});События предоставляют стандартные элементы: тип, цель, текущую цель, фазу, отмену,
доверенность, метку времени и управление распространением. CustomEvent добавляет detail.
Во время отправки eventPhase равен Event.AT_TARGET, а
composedPath() содержит текущую цель. После отправки
currentTarget равен null, а composedPath() пуст; target остаётся
целью отправки.
EventTarget
const target = new EventTarget();
target.addEventListener("submit", (event) => {
event.preventDefault();
}, { once: true });
target.dispatchEvent(new Event("submit", { cancelable: true })); // false
target.dispatchEvent(new Event("submit", { cancelable: true })); // true- Функциями обратного вызова могут быть функции или объекты с
handleEvent(). - Повторные регистрации
(type, callback, capture)игнорируются. - Принимаются параметры
once,passive,captureиsignal. - Удаление слушателя во время отправки не даёт ему выполниться позже в той же отправке.
- Добавление слушателя во время отправки влияет на последующую отправку.
- Об исключениях в слушателях сообщается без остановки остальных слушателей.
dispatchEvent()возвращаетfalse, если отменяемое событие было отменено.
Слушатели, управляемые сигналом, описаны в разделе DOM Abort.
Reference
Status: Full · Not measured · since 1.1.0
Exports
| Export | Kind | Status | Notes |
|---|---|---|---|
Event | class | Full | type, target, currentTarget, NONE, CAPTURING_PHASE, AT_TARGET, BUBBLING_PHASE, eventPhase, composedPath(), stopPropagation(), stopImmediatePropagation(), bubbles, cancelable, preventDefault(), defaultPrevented, composed, isTrusted, timeStamp, cancelBubble |
CustomEvent | class | Full | detail |
EventTarget | class | Full | addEventListener(), removeEventListener(), dispatchEvent() |