此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Element:pointerdown 事件

基线
广泛可用

自 2020年7月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

pointerdown 事件会在指针变为活动状态时触发。对于鼠标,其会在设备由没有按键按下变为至少有一个按键被按下时触发。对于触控设备,其会在数位板发生物理接触时被触发。对于笔,其会在触控笔与数位板物理接触时触发。

此事件的行为不同于 mousedown 事件。当使用物理鼠标时,只要鼠标上的任何按键被按下就会触发 mousedown 事件。pointerdown 事件仅在第一个按键被按下时触发,后续按下按键不会触发 pointerdown 事件。

备注:对于允许直接操控的触屏浏览器,pointerdown 事件会触发隐式指针捕获,会导致目标捕获后续所有指针事件,就好像这些事件发生在捕获目标上一样。因此,pointerover、pointerenter、pointerleave 和 pointerout 在设置此种捕获后将不再触发。此种捕获可以通过在目标元素上调用 element.releasePointerCapture 手动释放,或者其会在 pointerup 或 pointercancel 事件后被隐式释放。

语法

在 addEventListener() 中使用此事件名称:

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

或者,对接口的事件处理器属性赋值:

js
onpointerdown = (event) => { }

事件类型

PointerEvent。继承自 Event。

Event UIEvent MouseEvent PointerEvent

示例

使用 addEventListener():

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

para.addEventListener("pointerdown", (event) => {
  console.log("指针按下事件");
});

使用 onpointerdown 事件处理器属性(但请注意,这会替换掉之前使用 onpointerdown 添加的其他事件监听器,如存在的话):

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

para.onpointerdown = (event) => {
  console.log("指针按下事件");
};

规范

规范
Pointer Events
# pointerdown
Pointer Events
# dom-globaleventhandlers-onpointerdown

浏览器兼容性

参见