Deprecated
This feature has been removed from the Web standards. Though some browsers may still support it, it is in the process of being dropped. Avoid using it and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
The MouseEvent.initMouseEvent()
method initializes the value of a mouse event once it's been created (normally using the Document.createEvent()
method).
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 Creating and triggering events gives more information about the way to use these.
Syntax
event.initMouseEvent(type, canBubble, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget);
Parameters
type
- the string to set the event's
type
to. Possible types for mouse events include:click
,mousedown
,mouseup
,mouseover
,mousemove
,mouseout
. canBubble
- whether or not the event can bubble. Sets the value of
Event.bubbles
. cancelable
- whether or not the event's default action can be prevented. Sets the value of
Event.cancelable
. view
- the event's AbstractView. You should pass the
window
object here. Sets the value ofUIEvent.view
. detail
- the event's mouse click count. Sets the value of
UIEvent.detail
. screenX
- the event's screen x coordinate. Sets the value of
MouseEvent.screenX
. screenY
- the event's screen y coordinate. Sets the value of
MouseEvent.screenY
. clientX
- the event's client x coordinate. Sets the value of
MouseEvent.clientX
. clientY
- the event's client y coordinate. Sets the value of
MouseEvent.clientY
. ctrlKey
- whether or not control key was depressed during the Event. Sets the value of
MouseEvent.ctrlKey
. altKey
- whether or not alt key was depressed during the Event. Sets the value of
MouseEvent.altKey
. shiftKey
- whether or not shift key was depressed during the Event. Sets the value of
MouseEvent.shiftKey
. metaKey
- whether or not meta key was depressed during the Event. Sets the value of
MouseEvent.metaKey
. button
- the event's mouse
button
. relatedTarget
- the event's related EventTarget. Only used with some event types (e.g.
mouseover
andmouseout
). In other cases, passnull
. -
Example
HTML Content
<div style="background:red;width:180px;padding:10px;"> <div id="out"></div> <input type="text"> </div>
JavaScript Content
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" ?
Here's a live demo
Specifications
Specification | Status | Comment |
---|---|---|
Document Object Model (DOM) Level 3 Events Specification The definition of 'MouseEvent.initMouseEvent()' in that specification. |
Working Draft | From Document Object Model (DOM) Level 2 Events Specification, deprecated. |
Document Object Model (DOM) Level 2 Events Specification The definition of 'MouseEvent.initMouseEvent()' in that specification. |
Recommendation | Initial definition. |
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | ? | (Yes) | ? |
Feature | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | ? | (Yes) | ? |
See Also
MouseEvent()
constructor, the modern standard way of creating aMouseEvent
Event.initEvent()
is a simpler method serving a similar purpose. It is also obsolete and shouldn't be used any more.