Saltar al contenido

Eventos DOM

Event, CustomEvent y EventTarget en un runtime sin DOM.

En esta página

Elide expone Event, CustomEvent y EventTarget. No hay árbol DOM, así que el despacho tiene un único destino y no hay recorrido de captura ni de propagación.

Event y CustomEvent

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

Los eventos exponen los miembros estándar de tipo, destino, destino actual, fase, cancelación, confianza, marca de tiempo y propagación. CustomEvent añade detail.

Durante el despacho, eventPhase es Event.AT_TARGET y composedPath() contiene el destino actual. Después del despacho, currentTarget es null y composedPath() está vacío; target sigue siendo el destino del despacho.

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
  • Las funciones de retorno pueden ser funciones u objetos con handleEvent().
  • Los registros duplicados de (type, callback, capture) se ignoran.
  • Se aceptan las opciones once, passive, capture y signal.
  • Eliminar un listener durante el despacho impide que ese listener se ejecute más adelante en el mismo despacho.
  • Añadir un listener durante el despacho afecta a un despacho posterior.
  • Las excepciones de los listeners se notifican sin detener los listeners restantes.
  • dispatchEvent() devuelve false cuando se impidió un evento cancelable.

Consulte DOM Abort para los listeners controlados por señales.

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

¿Te resultó útil esta página?