MouseEvent: initMouseEvent() 方法

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

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

事件的 相关的 EventTarget。仅用于某些事件类型(例如 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);

规范

规范
UI 事件
# dom-mouseevent-initmouseevent

浏览器兼容性

另见