MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

MouseEvent.initMouseEvent()

已废弃
该特性已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。

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

事件初始化是在事件被Document.createEvent()方法创建后必需的。这个方法必须在事件被EventTarget.dispatchEvent()方法发送出来前调用。一旦事件被发送后,它将不再起任何作用。 

不要再用此方法,已过时。

使用特定的事件构造器来替代它,像 MouseEvent()创建并发送事件 页面里有更多的使用信息。

语法

event.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
事件的鼠标点击数量。取值集合见Event.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
事件的相关对象。只在某些事件类型有用 (例如 mouseover 和 mouseout)。其它的传null。

 

示例

HTML内容

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

JavaScript内容

document.body.onclick = function(){
 e = arguments[0];
 var dt = e.target,stag = dt.tagName.toLowerCase();
 document.getElementById("out").innerHTML = stag;
};
var simulateClick = function(){
 var evt = document.createEvent("MouseEvents");
 evt.initMouseEvent("click", true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);
 document.body.dispatchEvent(evt);
}
simulateClick();//Why it can not show "input" ?

这里有个在线演示

Link to live demo

标准

Specification Status Comment
Document Object Model (DOM) Level 3 Events Specification
MouseEvent.initMouseEvent()
Working Draft From Document Object Model (DOM) Level 2 Events Specification, deprecated.
Document Object Model (DOM) Level 2 Events Specification
MouseEvent.initMouseEvent()
Recommendation Initial definition.

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) ? (Yes) ?
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) ? (Yes) ?

参阅

文档标签和贡献者

 此页面的贡献者: army8735
 最后编辑者: army8735,