弃用
This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the
兼容性表格
at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
MouseEvent.initMouseEvent()
method initializes the value of a mouse event once it's been created (normally using the
Document.createEvent()
方法)。
Events initialized in this way must have been created with the
Document.createEvent()
method. This method must be called to set the event before it is dispatched, using
EventTarget.dispatchEvent()
. Once dispatched, it doesn't do anything anymore.
Do not use this method anymore as it is deprecated.
Instead use specific event constructors, like
MouseEvent()
. The page on
创建和触发事件
gives more information about the way to use these.
event.initMouseEvent(type, canBubble, cancelable, view,
detail, screenX, screenY, clientX, clientY,
ctrlKey, altKey, shiftKey, metaKey,
button, relatedTarget);
type
type
to. Possible types for mouse events include:
click
,
mousedown
,
mouseup
,
mouseover
,
mousemove
,
mouseout
.
canBubble
Event.bubbles
.
cancelable
Event.cancelable
.
view
window
object here. Sets the value of
UIEvent.view
.
detail
UIEvent.detail
.
screenX
MouseEvent.screenX
.
screenY
MouseEvent.screenY
.
clientX
MouseEvent.clientX
.
clientY
MouseEvent.clientY
.
ctrlKey
MouseEvent.ctrlKey
.
altKey
MouseEvent.altKey
.
shiftKey
MouseEvent.shiftKey
.
metaKey
MouseEvent.metaKey
.
button
button
.
relatedTarget
mouseover
and
mouseout
). In other cases, pass
null
.
<div style="background:red; width:180px; padding:10px;"> <div id="out"></div> <input type="text"> </div>
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();
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
initMouseEvent
弃用
非标
|
Chrome Yes | Edge 12 | Firefox Yes | IE ? | Opera Yes | Safari ? | WebView Android Yes | Chrome Android Yes | Firefox Android Yes | Opera Android Yes | Safari iOS ? | Samsung Internet Android Yes |
完整支持
兼容性未知
非标。预期跨浏览器支持较差。
弃用。不要用于新网站。
MouseEvent()
constructor, the modern standard way of creating a
MouseEvent
Event.initEvent()
is a simpler method serving a similar purpose. It is also obsolete and shouldn't be used any more.
MouseEvent
getModifierState()
initMouseEvent()