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

View in English Always switch to English

MouseEvent()

基线 广泛可用

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

MouseEvent() 构造器创建一个 MouseEvent

语法

js
new MouseEvent(type)
new MouseEvent(type, options)

参数

typeArg

String 格式的事件名称。

mouseEventInit 可选

初始化 MouseEvent 的字典,有下列属性字段:

  • "screenX"long 型可选,默认为 0,设置鼠标事件发生时相对于用户屏幕的水平坐标位置;该操作并不会改变真实鼠标的位置。

  • "screenY"long 型可选,默认为 0,设置鼠标事件发生时相对于用户屏幕的垂直坐标位置;该操作并不会改变真实鼠标的位置。

  • "clientX"long 型可选,默认为 0,设置鼠标事件时相对于客户端窗口的水平坐标位置;该操作并不会改变真实鼠标的位置。

  • "clientY"long 型可选,默认为 0,设置鼠标事件时相对于客户端窗口的垂直坐标位置;该操作并不会改变真实鼠标的位置。

  • "ctrlKey"Boolean 型可选,默认为false,标明是否同时按下

    ctrl

    键。

  • "shiftKey"Boolean 型可选,默认为false,标明是否同时按下

    shift

    键。

  • "altKey"Boolean 型可选,默认为 false,标明是否同时按下

    alt

    键。

  • "metaKey"Boolean 型可选,默认为false,标明是否同时按下

    meta

    键。

  • "button"short 型可选,默认为 0,描述了当事件发生时,哪个按键被按下或释放:

    含义
    0 主按键被按下(通常为左键)或未初始化
    1 辅助按键被按下 (通常为中键)
    2 次按键被按下 (通常为右键)
  • "buttons",无符号 short 型可选,默认为 0,描述了当事件发生时哪些按键被按下:

    位域值(Bit-field value) 含义
    0 无按键被按下
    1 主按键被按下 (通常为左键)
    2 次按键被按下 (通常为右键)
    4 辅助按键被按下 (通常为中键)
  • "relatedTarget"EventTarget 型可选,默认为 null,若事件为 mouseentermouseover,则表示刚离开的元素;若事件为 mouseoutmouseleave,则表示刚进入的元素。

  • "region"String 型可选,默认为null,标明点击事件影响的区域 DOM 的 id。不影响任何区域的话,请传null值。

在一些实现中,为屏幕和客户端字段传递数值以外的任何东西都会抛出 TypeError

规范

规范
Pointer Events
# dom-mouseevent-mouseevent

浏览器兼容性

参见