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 的字符串,包含以下几种鼠标事件:click,mousedownmouseupmouseovermousemovemouseout
canBubble
是否可以冒泡。取值集合见Event.bubbles
cancelable
是否可以阻止事件默认行为。取值集合见Event.cancelable
view
事件的 AbstractView 对象引用,这里其实指向window 对象。取值集合见 UIEvent.view
detail
事件的鼠标点击数量。取值集合见Event.detail (en-US)
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

标准

浏览器兼容性

BCD tables only load in the browser

参阅