Перейти до вмісту

DOM Events

Event, CustomEvent і EventTarget у середовищі виконання без DOM.

На цій сторінці
Open in ChatGPTOpen in Claude

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

ExportKindStatusNotes
EventclassFulltype, target, currentTarget, NONE, CAPTURING_PHASE, AT_TARGET, BUBBLING_PHASE, eventPhase, composedPath(), stopPropagation(), stopImmediatePropagation(), bubbles, cancelable, preventDefault(), defaultPrevented, composed, isTrusted, timeStamp, cancelBubble
CustomEventclassFulldetail
EventTargetclassFulladdEventListener(), removeEventListener(), dispatchEvent()

Чи була ця сторінка корисною?