Dispatches event along path (root first, target last) in the three phases
of §72 — dispatchThreePhase with this module's listener keys, plus
the two types that do not travel the path at all.
pointerenter and pointerleave do not propagate: they are delivered to
the last path entry only. This is DOM semantics (pointerenter/pointerleave
are the non-bubbling pair, as against pointerover/pointerout) and it is
what makes them usable for hover styling — a bubbling enter would fire on
every ancestor of every node the pointer crosses, which is never what a
listener on a group means by "the pointer entered me".
An empty path dispatches nothing, which is what makes a miss (no target) a
no-op rather than a special case at every call site.
Dispatches
eventalongpath(root first, target last) in the three phases of §72 — dispatchThreePhase with this module's listener keys, plus the two types that do not travel the path at all.pointerenterandpointerleavedo not propagate: they are delivered to the last path entry only. This is DOM semantics (pointerenter/pointerleaveare the non-bubbling pair, as againstpointerover/pointerout) and it is what makes them usable for hover styling — a bubbling enter would fire on every ancestor of every node the pointer crosses, which is never what a listener on a group means by "the pointer entered me".An empty path dispatches nothing, which is what makes a miss (no target) a no-op rather than a special case at every call site.