Pointer Event Types

List of Pointer Events

The following table provides a summary of the event types defined in this specification.

[ED: reordered the table to better reflect some of the typical order in which the enter/over/down/move/up/out/leave are generally fired, remove note about compatibility mouse events from pointerdown's default action as it's misleading]
Event TypeSync/AsyncBubblesCancellableTrusted proximal event target typesEvent object interfaceDefault Action
pointerover Sync Yes Yes Document, Element PointerEvent Varies: when the pointer is primary, all default actions of mouseover
pointerenter Sync No Yes Document, Element PointerEvent Varies: when the pointer is primary, all default actions of mouseenter
pointerdown Sync Yes Yes Document, Element PointerEvent Varies: when the pointer is primary, all default actions of mousedown
pointermove Sync Yes Yes Document, Element PointerEvent Varies: when the pointer is primary, all default actions of mousemove
pointerup Sync Yes Yes Document, Element PointerEvent Varies: when the pointer is primary, all default actions of mouseup
pointercancel Sync Yes Yes Document, Element PointerEvent None
pointerout Sync Yes Yes Document, Element PointerEvent Varies: when the pointer is primary, all default actions of mouseout
pointerleave Sync No Yes Document, Element PointerEvent Varies: when the pointer is primary, all default actions of mouseleave
gotpointercapture Async Yes No Element PointerEvent None
lostpointercapture Async Yes No Element PointerEvent None
[ED: clarify compatibility mouse events generation and cross-reference to actual section]
In the case of the primary pointer, these events (with the exception of pointercancel, gotpointercapture and lostpointercapture) will also dispatch compatibility mouse events.
[ED: reorder the following sections according to the order of the table above] [...]

The pointerdown event

A user agent MUST dispatch this event when a pointer enters the active buttons state. For mouse, this is when the device transitions from no buttons depressed to at least one button depressed. For touch, this is when physical contact is made with the digitizer. For pen, this is when the stylus makes physical contact with the digitizer.

[ED: moved the following note right here, as it seems to follow logically from the preceding sentence - the "this" in "this means"]
For mouse (or other multi-button pointer devices), this means pointerdown and pointerup are dispatched differently than mousedown and mouseup. See chorded buttons for more information.

For input devices that do not support hover, a user agent MUST also fire a pointerover event preceding the pointerdown event.

Authors can prevent the production of compatibility mouse events by cancelling the pointerdown event (if the isPrimary property is true). [ED: addition to clarify] This sets the PREVENT MOUSE EVENT FLAG on the pointer. [ED: addition to clarify] Note, however, that this does not prevent potential compatibility mouse events being dispatched for any preceding pointerover and pointerenter events.