Zum Inhalt springen

DOM-Ereignisse

Event, CustomEvent und EventTarget in einer Laufzeitumgebung ohne DOM.

Auf dieser Seite

Elide stellt Event, CustomEvent und EventTarget bereit. Es gibt keinen DOM-Baum, daher hat die Zustellung ein einziges Ziel und keine Capture- oder Bubble-Durchläufe.

Event und CustomEvent

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

Ereignisse stellen die üblichen Mitglieder für Typ, Ziel, aktuelles Ziel, Phase, Abbruch, Vertrauenswürdigkeit, Zeitstempel und Weitergabe bereit. CustomEvent ergänzt detail.

Während der Zustellung ist eventPhase gleich Event.AT_TARGET, und composedPath() enthält das aktuelle Ziel. Nach der Zustellung ist currentTarget null und composedPath() leer; target bleibt das Zustellungsziel.

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
  • Callbacks können Funktionen oder Objekte mit handleEvent() sein.
  • Doppelte Registrierungen von (type, callback, capture) werden ignoriert.
  • Die Optionen once, passive, capture und signal werden akzeptiert.
  • Das Entfernen eines Listeners während der Zustellung verhindert, dass dieser Listener später in derselben Zustellung ausgeführt wird.
  • Das Hinzufügen eines Listeners während der Zustellung wirkt sich auf eine spätere Zustellung aus.
  • Ausnahmen von Listenern werden gemeldet, ohne die übrigen Listener anzuhalten.
  • dispatchEvent() gibt false zurück, wenn ein abbrechbares Ereignis verhindert wurde.

Signalgesteuerte Listener sind unter DOM Abort beschrieben.

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

War diese Seite hilfreich?