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 of UIEvent.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.

button

the event's mouse button.

relatedTarget

the event's related EventTarget. Only used with some event types (e.g., mouseover and mouseout). In other cases, pass null.

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").textContent = 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