Aller au contenu

Événements DOM

Event, CustomEvent et EventTarget dans un environnement d'exécution sans DOM.

Sur cette page

Elide expose Event, CustomEvent et EventTarget. Il n’y a pas d’arbre DOM : la distribution n’a donc qu’une seule cible et aucune traversée de capture ni de propagation.

Event et CustomEvent

const event = new CustomEvent("tick", {
  detail: 42,
  cancelable: true,
});

Les événements exposent les membres standard de type, cible, cible courante, phase, annulation, confiance, horodatage et propagation. CustomEvent ajoute detail.

Pendant la distribution, eventPhase vaut Event.AT_TARGET et composedPath() contient la cible courante. Après la distribution, currentTarget vaut null et composedPath() est vide ; target reste la cible de distribution.

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
  • Les callbacks peuvent être des fonctions ou des objets dotés de handleEvent().
  • Les enregistrements (type, callback, capture) en double sont ignorés.
  • Les options once, passive, capture et signal sont acceptées.
  • Supprimer un écouteur pendant une distribution l’empêche de s’exécuter plus tard au cours de cette même distribution.
  • Ajouter un écouteur pendant une distribution affecte une distribution ultérieure.
  • Les exceptions des écouteurs sont signalées sans arrêter les écouteurs restants.
  • dispatchEvent() renvoie false lorsqu’un événement annulable a été empêché.

Consultez DOM Abort pour les écouteurs contrôlés par un signal.

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()

Cette page vous a-t-elle aidé ?