The HTML DOM MouseEvent Object represents an event which incurs on interaction of mouse with the HTML document elements.
Here, “MouseEvent” can have the following properties and methods −
| Property/Method | Description |
|---|---|
| altKey | Itreturns whether the "ALT" key on keyboard was pressedwhen the mouse event was triggered |
| button | Itreturns a number corresponding to which mouse button was pressedwhen the mouse event was triggered |
| buttons | Itreturns which mouse buttons were pressed when the mouse event wastriggered |
| clientX | Itreturns the horizontal (x) coordinate of the mouse pointer,relative to the current window, when the mouse event was triggered |
| clientY | Itreturns the vertical (y) coordinate of the mouse pointer, relativeto the current window, when the mouse event was triggered |
| ctrlKey | Itreturns whether the "CTRL" key was pressed on keyboardwhen the mouse event was triggered |
| getModifierState() | Itreturns true if the specified key is activated and false if not |
| metaKey | Itreturns whether the "META" key was pressed on keyboardwhen an event was triggered |
| movementX | Itreturns the horizontal (x) coordinate of the mouse pointerrelative to the position of the last mousemove event |
| movementY | Itreturns the vertical (y) coordinate of the mouse pointer relativeto the position of the last mousemove event |
| offsetX | Itreturns the horizontal (x) coordinate of the mouse pointerrelative to the position of the edge of the target element |
| offsetY | Itreturns the vertical (y) coordinate of the mouse pointer relativeto the position of the edge of the target element |
| pageX | Itreturns the horizontal (x) coordinate of the mouse pointer,relative to the document, when the mouse event was triggered |
| pageY | Itreturns the vertical (y) coordinate of the mouse pointer, relativeto the document, when the mouse event was triggered |
| relatedTarget | Itreturns the HTML element that triggered the mouse event |
| screenX | Itreturns the horizontal (x) coordinate of the mouse pointer,relative to the screen, when an event was triggered |
| screenY | Itreturns the vertical (y) coordinate of the mouse pointer, relativeto the screen, when an event was triggered |
| shiftKey | Itreturns whether the "SHIFT" key was pressed on keyboardwhen an event was triggered |
| which | Itreturns which mouse button was pressed when the mouse event wastriggered |
Let us see an example of MouseEvent clientX property −
Example
<!DOCTYPE html>
<html>
<head>
<title>MouseEvent clientX</title>
<style>
* {
padding: 2px;
margin:5px;
}
form {
width:70%;
margin: 0 auto;
text-align: center;
}
#outer {
width:70%;
margin: 0 auto;
padding: 0;
text-align: center;
border:1px solid black;
height: 105px;
background-color: #28a745;
}
input[type="button"] {
border-radius: 10px;
}
#upper {
border-bottom: 1px solid black;
height: 40px;
margin: 0 0 15px 0;
background-color: #DC3545;
}
#lower {
border-top: 1px solid black;
height: 40px;
margin: 15px 0 0 0;
background-color: #DC3545;
}
</style>
</head>
<body>
<form>
<fieldset>
<legend>MouseEvent-clientX</legend>
<div id="outer">
<div id="upper"><h2>Danger</h2></div>
<div id="lower"><h2>Danger</h2></div>
</div>
<input type="button" id="start" value="Start" onclick="gameStart()">
<div id="divDisplay"></div>
</fieldset>
</form>
<script>
var divDisplay = document.getElementById('divDisplay');
var gameDisplay = document.getElementById('outer');
function playGame(event) {
var x = event.clientX;
var y = event.clientY;
if(y > 95 && y < 110){
divDisplay.textContent = 'Keep Going!';
if(x === 439){
divDisplay.textContent = 'Congrats! You Did it!';
gameDisplay.removeEventListener('mousemove', playGame);
}
}
else{
divDisplay.textContent = 'You moved to DANGER area. You loose!';
gameDisplay.removeEventListener('mousemove', playGame);
}
}
function gameStart(){
gameDisplay.addEventListener('mousemove',playGame);
}
</script>
</body>
</html>Output
After clicking ‘Start’ button and cursor in green (safe) area −

After clicking ‘Start’ button and cursor at end of green (safe) area −

After clicking ‘Start’ button and cursor in red (danger) area −

Also, “MouseEvent” can have the following events −
| Event | Description |
|---|---|
| onclick | Theevent occurs when the user clicks on an element |
| oncontextmenu | Theevent occurs when the user right-clicks on an element to open acontext menu |
| ondblclick | Theevent occurs when the user double-clicks on an element |
| onmousedown | Theevent occurs when the user presses a mouse button over an element |
| onmouseenter | Theevent occurs when the pointer is moved onto an element |
| onmouseleave | Theevent occurs when the pointer is moved out of an element |
| onmousemove | Theevent occurs when the pointer is moving while it is over anelement |
| onmouseout | Theevent occurs when a user moves the mouse pointer out of anelement, or out of one of its children |
| onmouseover | Theevent occurs when the pointer is moved onto an element, or ontoone of its children |
| onmouseup | Theevent occurs when a user releases a mouse button over an element |
Let us see an example of MouseEvent onmouseout event −
Example
<!DOCTYPE html>
<html>
<head>
<title>MouseEvent onmouseout</title>
<style>
* {
padding: 2px;
margin:5px;
}
form {
width:70%;
margin: 0 auto;
text-align: center;
}
#outer {
width:70%;
margin: 0 auto;
padding: 0;
text-align: center;
border:1px solid black;
height: 105px;
background-color: #28a745;
}
input[type="button"] {
border-radius: 10px;
}
#upper {
border-bottom: 1px solid black;
height: 40px;
margin: 0 0 15px 0;
background-color: #DC3545;
}
#lower {
border-top: 1px solid black;
height: 40px;
margin: 15px 0 0 0;
background-color: #DC3545;
}
</style>
</head>
<body>
<form>
<fieldset>
<legend>MouseEvent-onmouseout</legend>
<div id="outer" onmouseout="gameStart(event)">
<div id="upper"><h2>Danger</h2></div>
<div id="lower"><h2>Danger</h2></div>
</div>
<div id="divDisplay"></div>
</fieldset></form>
<script>
var divDisplay = document.getElementById("divDisplay");
var textSelect = document.getElementById("textSelect");
function gameStart(event) {
var fetchedID = event.relatedTarget.id
if(fetchedID !== '')
divDisplay.textContent = 'You are hovering over '+fetchedID+' <div> element';
}
</script>
</body>
</html>Output
Hovering over green (safe) area −

Hovering over upper red (danger) area −

Hovering over lower red (danger) area −
