鼠标事件: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

事件的 相关 EventTarget。仅用于某些事件类型(例如,mouseovermouseout)。在其他情况下,传递 null

返回值

无 (undefined).

示例

HTML

html
<div style="background:red; width:180px; padding:10px;">
  <div id="out"></div>
  <input type="text" />
</div>

JavaScript

js
document.body.onclick = (event) => {
  const elementTag = event.target.tagName.toLowerCase();
  document.getElementById("out").textContent = elementTag;
};

const simulateClick = () => {
  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);
};

simulateClick();

结果

规范

此功能不是任何规范的一部分。它不再有望成为标准。

请改用 MouseEvent() 构造函数。

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参见