Element:mousedown 事件

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

当定点设备的按钮在指针位于 Element 内部时被按下,会触发 mousedown 事件。

这与 click 事件不同,click 事件是在完整的点击操作发生后才触发的;也就是说,鼠标按钮在指针停留在同一元素内部时被按下并释放。mousedown 事件在按钮最初被按下的那一刻就会触发。

此行为与 pointerdown 事件不同。使用实体鼠标时,每当鼠标上的任何按钮被按下时,都会触发 mousedown 事件。pointerdown 事件只在第一次按钮按下时触发;后续的按钮按下不会触发 pointerdown 事件。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

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

onmousedown = (event) => { }

事件类型

一个 MouseEvent。继承自 UIEventEvent

Event UIEvent MouseEvent

事件属性

此接口还继承其父级 UIEventEvent 的属性。

MouseEvent.altKey 只读

如果鼠标事件触发时 alt 键处于按下状态,则返回 true

MouseEvent.button 只读

鼠标事件触发时按下的按钮编号(如果适用)。

MouseEvent.buttons 只读

鼠标事件触发时按下的按钮(如果有)。

MouseEvent.clientX 只读

鼠标指针在视口坐标中的 X 坐标。

MouseEvent.clientY 只读

鼠标指针在视口坐标中的 Y 坐标。

MouseEvent.ctrlKey 只读

如果鼠标事件触发时 control 键处于按下状态,则返回 true

MouseEvent.layerX 非标准 只读

返回事件相对于当前图层的水平坐标。

MouseEvent.layerY 非标准 只读

返回事件相对于当前图层的垂直坐标。

MouseEvent.metaKey 只读

如果鼠标事件触发时 meta 键处于按下状态,则返回 true

MouseEvent.movementX 只读

鼠标指针相对于上次 mousemove 事件位置的 X 坐标。

MouseEvent.movementY 只读

鼠标指针相对于上次 mousemove 事件位置的 Y 坐标。

MouseEvent.offsetX 只读

鼠标指针相对于目标节点内边距边缘位置的 X 坐标。

MouseEvent.offsetY 只读

鼠标指针相对于目标节点内边距边缘位置的 Y 坐标。

MouseEvent.pageX 只读

鼠标指针相对于整个文档的 X 坐标。

MouseEvent.pageY 只读

鼠标指针相对于整个文档的 Y 坐标。

MouseEvent.relatedTarget 只读

事件的次要目标(如果存在)。

MouseEvent.screenX 只读

鼠标指针在屏幕坐标中的 X 坐标。

MouseEvent.screenY 只读

鼠标指针在屏幕坐标中的 Y 坐标。

MouseEvent.shiftKey 只读

如果鼠标事件触发时 shift 键处于按下状态,则返回 true

MouseEvent.mozInputSource 非标准 只读

生成事件的设备类型(MOZ_SOURCE_* 常量之一)。这可以让你例如判断鼠标事件是由实际的鼠标还是由触摸事件生成的(这可能会影响你解释与事件关联的坐标的准确程度)。

MouseEvent.webkitForce 非标准 只读

点击时施加的压力大小。

MouseEvent.x 只读

MouseEvent.clientX 的别名。

MouseEvent.y 只读

MouseEvent.clientY 的别名。

示例

请参阅 mousemove 事件以获取示例代码。

规范

规范
UI 事件
# event-type-mousedown
HTML
# handler-onmousedown

浏览器兼容性

另见