Documentation
    Preparing search index...

    Class SceneInputEventAbstract

    The state and behaviour every propagating input event carries: the node the event resolved to, and the one flag that stops the walk.

    A class, not an interface, for the reason ScenePointerEvent already gave: stopPropagation() and propagationStopped are a single piece of state that must agree, and an object literal could set the flag without the method, or the method without the flag, leaving dispatch to silently do the wrong thing. Subclasses add what their source knows — a pointer's NDC, a key's key/code/modifiers — and nothing here knows about either.

    type is abstract: every subclass narrows it to its own union of literal types, which is what lets dispatchThreePhase take the listener keys as checked NodeEventMap keys.

    Hierarchy (View Summary)

    Index
    target: Node | null

    The node the event resolved to — the deepest hit for a pointer, the focused node for a key — and the node the propagation path ends at. null when the source resolved nothing; such an event has nowhere to propagate and is not dispatched.

    It stays the target for the whole walk: a listener on an ancestor reading event.target sees what was actually resolved, not the node it is listening on (which it already knows, having registered there).

    type: string

    Which event this is. Narrowed by each subclass to its own union.

    • get propagationStopped(): boolean

      Whether SceneInputEvent.stopPropagation has been called.

      Returns boolean

    • Stops the event before the next node on the path — the DOM's stopPropagation, not stopImmediatePropagation.

      The remaining listeners on the node currently dispatching still run: §6b rule 2 makes registration order the contract within one emitter, and letting one listener cancel its siblings would make that order decide who gets to see an event. (There is deliberately no stopImmediatePropagation: no §72 requirement asks for one.)

      Called during the capture phase, it stops the descent as well, so the target never sees the event at all.

      Returns void