-
Notifications
You must be signed in to change notification settings - Fork 22.9k
mouse & pointer event pages updates #36993
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 6 commits
2c7952a
410ca45
4b09459
5b50a7b
98d6a09
5e89d97
abe8057
50f9e36
8787385
fa5c6a9
6ff5ca8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,6 +10,9 @@ browser-compat: api.Element.pointerdown_event | |
|
|
||
| The `pointerdown` event is fired when a pointer becomes active. For mouse, it is fired when the device transitions from no buttons pressed to at least one button pressed. For touch, it is fired when physical contact is made with the digitizer. For pen, it is fired when the stylus makes physical contact with the digitizer. | ||
|
|
||
| > [!NOTE] | ||
|
||
| > This behavior is different from {{domxref("element/mousedown_event", "mousedown")}} events. `mousedown` events fire whenever any button on a mouse is pressed down. `pointerdown` events fire only upon the first button press; subsequent button presses don't fire `pointerdown` events. | ||
|
|
||
| > [!NOTE] | ||
| > For touchscreen browsers that allow [direct manipulation](https://w3c.github.io/pointerevents/#dfn-direct-manipulation), a `pointerdown` event triggers [implicit pointer capture](https://w3c.github.io/pointerevents/#dfn-implicit-pointer-capture), which causes the target to capture all subsequent pointer events as if they were occurring over the capturing target. Accordingly, `pointerover`, `pointerenter`, `pointerleave`, and `pointerout` **will not fire** as long as this capture is set. The capture can be released manually by calling {{domxref('element.releasePointerCapture')}} on the target element, or it will be implicitly released after a `pointerup` or `pointercancel` event. | ||
|
|
||
|
|
@@ -104,3 +107,4 @@ para.onpointerdown = (event) => { | |
| - {{domxref('Element/pointerout_event', 'pointerout')}} | ||
| - {{domxref('Element/pointerleave_event', 'pointerleave')}} | ||
| - {{domxref('Element/pointerrawupdate_event', 'pointerrawupdate')}} | ||
| - {{domxref("Element/mousedown_event", "mousedown")}} | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -8,7 +8,7 @@ browser-compat: api.Element.pointerenter_event | |
|
|
||
| {{APIRef}} | ||
|
|
||
| The `pointerenter` event fires when a pointing device is moved into the hit test boundaries of an element or one of its descendants, including as a result of a {{domxref("Element/pointerdown_event", "pointerdown")}} event from a device that does not support hover (see {{domxref("Element/pointerdown_event", "pointerdown")}}). | ||
| The `pointerenter` event fires when a pointing device is moved into the hit test boundaries of an element or one of its descendants, including as a result of a {{domxref("Element/pointerdown_event", "pointerdown")}} event from a device that does not support hover (see {{domxref("Element/pointerdown_event", "pointerdown")}}). Otherwise, `pointerenter` works the same as {{domxref("Element/mouseenter_event", "mouseenter")}}, and are dispatched at the same time. They are dispatched at the same time, also, as {{domxref("Element/mouseover_event", "mouseover")}} and {{domxref("Element/pointerover_event", "pointerover")}} events, if appropriate. | ||
|
||
|
|
||
| ## Syntax | ||
|
|
||
|
|
@@ -101,3 +101,4 @@ para.onpointerenter = (event) => { | |
| - {{domxref('Element/pointerout_event', 'pointerout')}} | ||
| - {{domxref('Element/pointerleave_event', 'pointerleave')}} | ||
| - {{domxref('Element/pointerrawupdate_event', 'pointerrawupdate')}} | ||
| - {{domxref("Element/mouseenter_event", "mouseenter")}} | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -8,7 +8,7 @@ browser-compat: api.Element.pointerleave_event | |
|
|
||
| {{APIRef}} | ||
|
|
||
| The `pointerleave` event is fired when a pointing device is moved out of the hit test boundaries of an element. For pen devices, this event is fired when the stylus leaves the hover range detectable by the digitizer. | ||
| The `pointerleave` event is fired when a pointing device is moved out of the hit test boundaries of an element. For pen devices, this event is fired when the stylus leaves the hover range detectable by the digitizer. Otherwise, `pointerleave` works the same as {{domxref("Element/mouseleave_event", "mouseleave")}}, and are dispatched at the same time. They are dispatched at the same time, also, as {{domxref("Element/mouseout_event", "mouseout")}} and {{domxref("Element/pointerout_event", "pointerout")}} events, if appropriate. | ||
|
||
|
|
||
| ## Syntax | ||
|
|
||
|
|
@@ -101,3 +101,4 @@ para.onpointerleave = (event) => { | |
| - {{domxref('Element/pointercancel_event', 'pointercancel')}} | ||
| - {{domxref('Element/pointerout_event', 'pointerout')}} | ||
| - {{domxref('Element/pointerrawupdate_event', 'pointerrawupdate')}} | ||
| - {{domxref("Element/mouseleave_event", "mouseleave")}} | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -8,7 +8,9 @@ browser-compat: api.Element.pointermove_event | |
|
|
||
| {{APIRef}} | ||
|
|
||
| The `pointermove` event is fired when a pointer changes coordinates, and the pointer has not been [canceled](/en-US/docs/Web/API/Element/pointercancel_event) by a browser [touch-action](/en-US/docs/Web/CSS/touch-action). | ||
| The `pointermove` event is fired when a pointer changes coordinates, and the pointer has not been [canceled](/en-US/docs/Web/API/Element/pointercancel_event) by a browser [touch-action](/en-US/docs/Web/CSS/touch-action). It's very similar to the {{domxref("Element/mousemove_event", "mousemove")}} event, but with more features. | ||
|
|
||
| These events happen whether or not any pointer buttons are pressed. They can come at 100 events per second or faster, but the actual rate depends on how fast the user moves the mouse, how fast the machine is, what other tasks and processes are happening, etc. | ||
|
||
|
|
||
| ## Syntax | ||
|
|
||
|
|
@@ -105,3 +107,4 @@ para.onpointermove = (event) => { | |
| - {{domxref('Element/pointerout_event', 'pointerout')}} | ||
| - {{domxref('Element/pointerleave_event', 'pointerleave')}} | ||
| - {{domxref('Element/pointerrawupdate_event', 'pointerrawupdate')}} | ||
| - {{domxref("Element/mousemove_event", "mousemove")}} | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,6 +10,8 @@ browser-compat: api.Element.pointerout_event | |
|
|
||
| The `pointerout` event is fired for several reasons including: pointing device is moved out of the _hit test_ boundaries of an element; firing the {{domxref("Element/pointerup_event", "pointerup")}} event for a device that does not support hover (see {{domxref("Element/pointerup_event", "pointerup")}}); after firing the {{domxref("Element/pointercancel_event", "pointercancel")}} event (see {{domxref("Element/pointercancel_event", "pointercancel")}}); when a pen stylus leaves the hover range detectable by the digitizer. | ||
|
|
||
| `pointerover` and `pointerout` events have the same problems as {{domxref("Element/mouseover_event", "mouseover")}} and {{domxref("Element/mouseout_event", "mouseout")}}. {{domxref("Element/pointerenter_event", "pointerenter")}} and {{domxref("Element/pointerleave_event", "pointerleave")}} are probably what you should listen for instead. | ||
|
||
|
|
||
| ## Syntax | ||
|
|
||
| Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property. | ||
|
|
@@ -101,3 +103,4 @@ para.onpointerout = (event) => { | |
| - {{domxref('Element/pointercancel_event', 'pointercancel')}} | ||
| - {{domxref('Element/pointerleave_event', 'pointerleave')}} | ||
| - {{domxref('Element/pointerrawupdate_event', 'pointerrawupdate')}} | ||
| - {{domxref("Element/mouseout_event", "mouseout")}} | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,6 +10,8 @@ browser-compat: api.Element.pointerover_event | |
|
|
||
| The `pointerover` event is fired when a pointing device is moved into an element's hit test boundaries. | ||
|
|
||
| `pointerover` and `pointerout` events have the same problems as {{domxref("Element/mouseover_event", "mouseover")}} and {{domxref("Element/mouseout_event", "mouseout")}}. {{domxref("Element/pointerenter_event", "pointerenter")}} and {{domxref("Element/pointerleave_event", "pointerleave")}} are probably what you should listen for instead. | ||
|
||
|
|
||
| ## Syntax | ||
|
|
||
| Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property. | ||
|
|
@@ -101,3 +103,4 @@ para.onpointerover = (event) => { | |
| - {{domxref('Element/pointerout_event', 'pointerout')}} | ||
| - {{domxref('Element/pointerleave_event', 'pointerleave')}} | ||
| - {{domxref('Element/pointerrawupdate_event', 'pointerrawupdate')}} | ||
| - {{domxref("Element/mouseover_event", "mouseover")}} | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,6 +10,9 @@ browser-compat: api.Element.pointerup_event | |
|
|
||
| The `pointerup` event is fired when a pointer is no longer active. Remember that it is possible to get a [`pointercancel`](/en-US/docs/Web/API/Element/pointercancel_event) event instead. | ||
|
|
||
| > [!NOTE] | ||
| > This behavior is different from {{domxref("Element/mouseup_event", "mouseup")}} events. `mouseup` events fire whenever any button on a mouse is released. `pointerup` events fire only upon the last button release; previous button releases, while other buttons are held down, don't fire `pointerup` events. | ||
|
||
|
|
||
| ## Syntax | ||
|
|
||
| Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property. | ||
|
|
@@ -101,3 +104,4 @@ para.onpointerup = (event) => { | |
| - {{domxref('Element/pointerout_event', 'pointerout')}} | ||
| - {{domxref('Element/pointerleave_event', 'pointerleave')}} | ||
| - {{domxref('Element/pointerrawupdate_event', 'pointerrawupdate')}} | ||
| - {{domxref("Element/mouseup_event", "mouseup")}} | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -89,3 +89,5 @@ new MouseEvent(type, options) | |
| ## See also | ||
|
|
||
| - {{domxref("MouseEvent")}}, the interface of the objects it constructs. | ||
| - {{domxref("PointerEvent")}}, similar, but with more features, like multi-touch. | ||
| - {{domxref("Pointer_Events")}}, discussion of pointer & mouse events and their correspondence. | ||
|
||
Uh oh!
There was an error while loading. Please reload this page.