跳转到主要内容

Element: pointerdown event

{{APIRef("Pointer Events")}}

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.

This behavior is different from {{domxref("Element/mousedown_event", "mousedown")}} events. When using a physical mouse, 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, a pointerdown event triggers 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.

Syntax

Use the event name in {{domxref("EventTarget/addEventListener", "addEventListener()")}}:

addEventListener("pointerdown", (event) => { })

Alternatively, assign to the event handler property of the interface:

onpointerdown = (event) => { }

Event type

A {{domxref("PointerEvent")}}. Inherits from {{domxref("Event")}}.

{{InheritanceDiagram("PointerEvent")}}

Examples

Using addEventListener():

const para = document.querySelector("p");

para.addEventListener("pointerdown", (event) => {
  console.log("Pointer down event");
});

Using the onpointerdown event handler property (but note that this replaces other event listeners added using onpointerdown, if any):

const para = document.querySelector("p");

para.onpointerdown = (event) => {
  console.log("Pointer down event");
};

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also