MouseEvent:initMouseEvent() 方法

已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作。

MouseEvent.initMouseEvent() 方法用于在鼠标事件创建时(一般通过 Document.createEvent() 方法创建)初始化其属性的值。

备注: 该方法已被弃用,请勿再使用。

使用特定的事件构造器,如 MouseEvent() 替代它。创建和派发事件一节提供了更多有关使用这些事件的方法的信息。

以这种方式初始化的事件必须是用 Document.createEvent() 方法创建的。在使用 EventTarget.dispatchEvent() 派发事件之前,必须调用该方法来设置事件。

语法

js
initMouseEvent(type, canBubble, cancelable, view,
                     detail, screenX, screenY, clientX, clientY,
                     ctrlKey, altKey, shiftKey, metaKey,
                     button, relatedTarget)

参数

type

设置事件类型(type)的字符串,包含以下几种鼠标事件:clickmousedownmouseupmouseovermousemovemouseout

canBubble

是否可以冒泡。设置 Event.bubbles 的值。

cancelable

是否可以阻止事件默认行为。设置 Event.cancelable 的值。

view

事件的 AbstractView 对象引用,需要在这里传递 window 对象。设置 UIEvent.view 的值。

detail

事件的鼠标点击数量。设置 UIEvent.detail 的值。

screenX

事件的屏幕 x 坐标。设置 MouseEvent.screenX 的值。

screenY

事件的屏幕 y 坐标。设置 MouseEvent.screenY 的值。

clientX

事件的客户端 x 坐标。设置 MouseEvent.clientX 的值。

clientY

事件的客户端 y 坐标。设置 MouseEvent.clientY 的值。

ctrlKey

事件发生时 control 键是否被按下。设置 MouseEvent.ctrlKey 的值。

altKey

事件发生时 alt 键是否被按下。设置 MouseEvent.altKey 的值。

shiftKey

事件发生时 shift 键是否被按下。设置 MouseEvent.shiftKey 的值。

metaKey

事件发生时 meta 键是否被按下。设置 MouseEvent.metaKey 的值。

button

事件的鼠标 button

relatedTarget

事件的相关对象。只在某些事件类型有用(mouseovermouseout)。其他的情况下,传递 null

返回值

无(undefined)。

示例

js
const event = document.createEvent("MouseEvents");
event.initMouseEvent(
  "click",
  true,
  true,
  window,
  0,
  0,
  0,
  80,
  20,
  false,
  false,
  false,
  false,
  0,
  null,
);
document.body.dispatchEvent(event);

规范

Specification
UI Events
# dom-mouseevent-initmouseevent

浏览器兼容性

参见