Element:click 事件
>当发生以下任一情况时,元素会收到 click 事件:
- 定点设备按钮(例如鼠标的主按钮)在指针位于元素内时被按下并释放。
- 在该元素上执行了触摸手势。
- 任何等效于点击的用户交互,例如在元素获得焦点时按下 Space 键或 Enter 键。请注意,这仅适用于具有默认按键事件处理器的元素,因此不包括通过设置
tabindex属性而变得可聚焦的其他元素。
如果在某个元素上按下按钮,并在释放按钮之前将指针移出该元素,则事件会在同时包含这两个元素的最具体的祖先元素上触发。
click 会在 mousedown 和 mouseup 事件均已按该顺序触发之后触发。
该事件是与设备无关的事件——意味着它可由触摸、键盘、鼠标以及辅助技术提供的任何其他机制激活。
语法
在类似 addEventListener() 这样的方法中使用事件名称,或设置事件处理器属性。
js
addEventListener("click", (event) => { })
onclick = (event) => { }
事件类型
PointerEvent,继承自 MouseEvent。
备注:在规范的早期版本中,该事件的事件类型是 MouseEvent。更多信息请参见浏览器兼容性。
使用说明
传入 click 事件处理器的 PointerEvent 对象,其 detail 属性会被设置为 target 被点击的次数。换言之,双击时 detail 为 2,三击时为 3,依此类推。该计数器会在一段短暂的无点击间隔后重置;该间隔具体多长可能因浏览器和平台而异。该间隔也很可能受用户偏好设置影响;例如,无障碍选项可能会延长该间隔,以便更容易通过自适应界面执行多次点击。
示例
本示例显示在 <button> 上连续点击的次数。
HTML
html
<button>点击</button>
JavaScript
js
const button = document.querySelector("button");
button.addEventListener("click", (event) => {
button.textContent = `点击次数:${event.detail}`;
});
结果
尝试快速、反复地点击按钮以增加点击次数。如果在点击之间稍作停顿,计数将会重置。
规范
| 规范 |
|---|
| Pointer Events> # click> |
| HTML> # handler-onclick> |