Element: pointerleave event
{{APIRef("Pointer Events")}}
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 also dispatched at the same time as {{domxref("Element/mouseout_event", "mouseout")}}
and {{domxref("Element/pointerout_event", "pointerout")}}
events, if appropriate.
Syntax
Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}
, or set an event handler property.
addEventListener("pointerleave", (event) => { })
onpointerleave = (event) => { }
Event type
A {{domxref("PointerEvent")}}
. Inherits from {{domxref("Event")}}
.
{{InheritanceDiagram("PointerEvent")}}
Event properties
This interface inherits properties from {{domxref("MouseEvent")}}
and {{domxref("Event")}}
.
{{domxref('PointerEvent.altitudeAngle')}}
{{ReadOnlyInline}}
{{experimental_inline}}
- : Represents the angle between a transducer (a pointer or stylus) axis and the X-Y plane of a device screen.
{{domxref('PointerEvent.azimuthAngle')}}
{{ReadOnlyInline}}
{{experimental_inline}}
- : Represents the angle between the Y-Z plane and the plane containing both the transducer (a pointer or stylus) axis and the Y axis.
{{domxref('PointerEvent.persistentDeviceId')}}
{{ReadOnlyInline}}
{{experimental_inline}}
- : A unique identifier for the pointing device generating the
PointerEvent
.
- : A unique identifier for the pointing device generating the
{{domxref('PointerEvent.pointerId')}}
{{ReadOnlyInline}}
- : A unique identifier for the pointer causing the event.
{{domxref('PointerEvent.width')}}
{{ReadOnlyInline}}
- : The width (magnitude on the X axis), in CSS pixels, of the contact geometry of the pointer.
{{domxref('PointerEvent.height')}}
{{ReadOnlyInline}}
- : The height (magnitude on the Y axis), in CSS pixels, of the contact geometry of the pointer.
{{domxref('PointerEvent.pressure')}}
{{ReadOnlyInline}}
- : The normalized pressure of the pointer input in the range
0
to1
, where0
and1
represent the minimum and maximum pressure the hardware is capable of detecting, respectively.
- : The normalized pressure of the pointer input in the range
{{domxref('PointerEvent.tangentialPressure')}}
{{ReadOnlyInline}}
- : The normalized tangential pressure of the pointer input (also known as barrel pressure or cylinder stress) in the range
-1
to1
, where0
is the neutral position of the control.
- : The normalized tangential pressure of the pointer input (also known as barrel pressure or cylinder stress) in the range
{{domxref('PointerEvent.tiltX')}}
{{ReadOnlyInline}}
- : The plane angle (in degrees, in the range of
-90
to90
) between the Y–Z plane and the plane containing both the pointer (e.g., pen stylus) axis and the Y axis.
- : The plane angle (in degrees, in the range of
{{domxref('PointerEvent.tiltY')}}
{{ReadOnlyInline}}
- : The plane angle (in degrees, in the range of
-90
to90
) between the X–Z plane and the plane containing both the pointer (e.g., pen stylus) axis and the X axis.
- : The plane angle (in degrees, in the range of
{{domxref('PointerEvent.twist')}}
{{ReadOnlyInline}}
- : The clockwise rotation of the pointer (e.g., pen stylus) around its major axis in degrees, with a value in the range
0
to359
.
- : The clockwise rotation of the pointer (e.g., pen stylus) around its major axis in degrees, with a value in the range
{{domxref('PointerEvent.pointerType')}}
{{ReadOnlyInline}}
- : Indicates the device type that caused the event (mouse, pen, touch, etc.).
{{domxref('PointerEvent.isPrimary')}}
{{ReadOnlyInline}}
- : Indicates if the pointer represents the primary pointer of this pointer type.
Examples
Using addEventListener()
:
const para = document.querySelector("p");
para.addEventListener("pointerleave", (event) => {
console.log("Pointer left element");
});
Using the onpointerleave
event handler property:
const para = document.querySelector("p");
para.onpointerleave = (event) => {
console.log("Pointer left element");
};
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
- Related events
{{domxref('Element/gotpointercapture_event', 'gotpointercapture')}}
{{domxref('Element/lostpointercapture_event', 'lostpointercapture')}}
{{domxref('Element/pointerover_event', 'pointerover')}}
{{domxref('Element/pointerenter_event', 'pointerenter')}}
{{domxref('Element/pointerdown_event', 'pointerdown')}}
{{domxref('Element/pointermove_event', 'pointermove')}}
{{domxref('Element/pointerup_event', 'pointerup')}}
{{domxref('Element/pointercancel_event', 'pointercancel')}}
{{domxref('Element/pointerout_event', 'pointerout')}}
{{domxref('Element/pointerrawupdate_event', 'pointerrawupdate')}}
{{domxref("Element/mouseleave_event", "mouseleave")}}