MouseEvent

TheMouseEventinterface represents events that occur due to the user interacting with a pointing device (such as a mouse). Common events using this interface includeclick,dblclick,mouseup,mousedown.

MouseEventderives fromUIEvent,which in turn derives fromEvent. Though theMouseEvent.initMouseEvent()method is kept for backward compatibility, creating of aMouseEventobject should be done using theMouseEvent()constructor.

Several more specific events are based onMouseEvent,includingWheelEvent,DragEvent,andPointerEvent.

Event UIEvent MouseEvent

Constructor

MouseEvent()

Creates aMouseEventobject.

Static properties

MouseEvent.WEBKIT_FORCE_AT_MOUSE_DOWN Non-standard Read only

Minimum force necessary for a normal click.

MouseEvent.WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN Non-standard Read only

Minimum force necessary for a force click.

Instance properties

This interface also inherits properties of its parents,UIEventandEvent.

MouseEvent.altKeyRead only

Returnstrueif thealtkey was down when the mouse event was fired.

MouseEvent.buttonRead only

The button number that was pressed (if applicable) when the mouse event was fired.

MouseEvent.buttonsRead only

The buttons being pressed (if any) when the mouse event was fired.

MouseEvent.clientXRead only

The X coordinate of the mouse pointer inviewport coordinates.

MouseEvent.clientYRead only

The Y coordinate of the mouse pointer inviewport coordinates.

MouseEvent.ctrlKeyRead only

Returnstrueif thecontrolkey was down when the mouse event was fired.

MouseEvent.layerX Non-standard Read only

Returns the horizontal coordinate of the event relative to the current layer.

MouseEvent.layerY Non-standard Read only

Returns the vertical coordinate of the event relative to the current layer.

MouseEvent.metaKeyRead only

Returnstrueif themetakey was down when the mouse event was fired.

MouseEvent.movementXRead only

The X coordinate of the mouse pointer relative to the position of the lastmousemoveevent.

MouseEvent.movementYRead only

The Y coordinate of the mouse pointer relative to the position of the lastmousemoveevent.

MouseEvent.offsetXRead only

The X coordinate of the mouse pointer relative to the position of the padding edge of the target node.

MouseEvent.offsetYRead only

The Y coordinate of the mouse pointer relative to the position of the padding edge of the target node.

MouseEvent.pageXRead only

The X coordinate of the mouse pointer relative to the whole document.

MouseEvent.pageYRead only

The Y coordinate of the mouse pointer relative to the whole document.

MouseEvent.relatedTargetRead only

The secondary target for the event, if there is one.

MouseEvent.screenXRead only

The X coordinate of the mouse pointer inscreen coordinates.

MouseEvent.screenYRead only

The Y coordinate of the mouse pointer inscreen coordinates.

MouseEvent.shiftKeyRead only

Returnstrueif theshiftkey was down when the mouse event was fired.

MouseEvent.mozInputSource Non-standard Read only

The type of device that generated the event (one of theMOZ_SOURCE_*constants). This lets you, for example, determine whether a mouse event was generated by an actual mouse or by a touch event (which might affect the degree of accuracy with which you interpret the coordinates associated with the event).

MouseEvent.webkitForce Non-standard Read only

The amount of pressure applied when clicking.

MouseEvent.xRead only

Alias forMouseEvent.clientX.

MouseEvent.yRead only

Alias forMouseEvent.clientY.

Instance methods

This interface also inherits methods of its parents,UIEventandEvent.

MouseEvent.getModifierState()

Returns the current state of the specified modifier key. SeeKeyboardEvent.getModifierState()for details.

MouseEvent.initMouseEvent() Deprecated

Initializes the value of aMouseEventcreated. If the event has already been dispatched, this method does nothing.

Example

This example demonstrates simulating a click (programmatically generating a click event) on a checkbox using DOM methods. Event state (canceled or not) is then determined with the return value of methodEventTarget.dispatchEvent().

HTML

html
<p>
<label><inputtype="checkbox"id="checkbox"/>Checked</label>
</p>
<p>
<buttonid="button">Click me to send a MouseEvent to the checkbox</button>
</p>

JavaScript

js
functionsimulateClick(){
// Get the element to send a click event
constcb=document.getElementById("checkbox");

// Create a synthetic click MouseEvent
letevt=newMouseEvent("click",{
bubbles:true,
cancelable:true,
view:window,
});

// Send the event to the checkbox element
cb.dispatchEvent(evt);
}
document.getElementById("button").addEventListener("click",simulateClick);

Result

Specifications

Specification
UI Events
#interface-mouseevent
CSSOM View Module
#extensions-to-the-mouseevent-interface
Pointer Lock 2.0
#extensions-to-the-mouseevent-interface

Browser compatibility

BCD tables only load in the browser

See also