MouseEvent: initMouseEvent() method
Deprecated: 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 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).
Warning: 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.
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()
.
Syntax
js
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 pressed during the Event. Sets the value of
MouseEvent.ctrlKey
. altKey
-
whether or not alt key was pressed during the Event. Sets the value of
MouseEvent.altKey
. shiftKey
-
whether or not shift key was pressed during the Event. Sets the value of
MouseEvent.shiftKey
. metaKey
-
whether or not meta key was pressed during the Event. Sets the value of
MouseEvent.metaKey
. -
the event's mouse
button
. -
the event's related EventTarget. Only used with some event types (e.g.,
mouseover
andmouseout
). In other cases, passnull
.
Return value
None (undefined
).
Examples
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").innerHTML = 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();
Result
Specifications
This feature is not part of any specification. It is no longer on track to becoming a standard.
Use the MouseEvent()
constructor instead.
Browser compatibility
BCD tables only load in the browser
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.