Difference between mouseover, mouseenter and mousemove events in JavaScript - GeeksforGeeks

19 Feb, 2020
Events in JavaScript provide a dynamic interface to the webpage. There are wide variety of events such as user clicking, moving the mouse over an element, etc. Events that occur when the mouse interacts with the HTML document falls under the category of MouseEvent property.
mouseover: The onmouseover event triggers when the mouse pointer enters an element or any one of its child elements.<element onmouseover="myfunction()">
<element onmouseover="myfunction()">
mouseenter: The onmouseenter event is triggered only when the mouse pointer hits the element.<element onmouseenter="myfunction()">
<element onmouseenter="myfunction()">
mousemove: The onmousemove event is triggered each time the mouse pointer is moved when it is over an element.<element onmousemove="myfunction()">
<element onmousemove="myfunction()">
Note: The mousemove event occurs each time the user moves the mouse by one pixel.
Example: The following example demonstrates the difference between onmousemove, onmouseenter and onmouseover events used in JavaScript:
<!DOCTYPE html><html>  <head>    <title>        Difference between mouseover,        mouseenter and mousemove events    </title>          <style>        body {            text-align: center;        }                  h1 {            color: green;        }                  div {            margin: 15px 50px 0px 50px;            border: 2px solid black;            padding: 10px;            text-align: center;            background-color: #2ec96c;        }                  p {            color: white;        }                  h3 {            background-color: white;            border-radius: 10px;        }    </style>      <script>        function over(e) {            document.getElementById("sover").innerHTML++;        }          function enter(e) {            document.getElementById("senter").innerHTML++;        }          function move(e) {            document.getElementById("smove").innerHTML++;        }    </script></head>  <body>    <h1>GeeksforGereks</h1>    <h4>Mouseover, Mouseenter and Mousemove Example</h4>    <div class="over" onmouseover="over(this)">        <h3>Mouseover event triggered:           <span id="sover">0</span>           times        </h3>        <p>          This event occurs every time when the mouse pointer          enters the div element or its child elements          (here <h3> or <p>).        </p>    </div>      <div class="enter" onmouseenter="enter(this)">        <h3>Mouseenter event triggered:          <span id="senter">0</span>          times        </h3>        <p>          This event occurs only when the mouse pointer enters          the div element.        </p>    </div>      <div class="move" onmousemove="move(this)">        <h3>Mousemove event triggered:           <span id="smove">0</span>           times        </h3>        <p>          This event occurs every time the mouse pointer is          moved over the div element.        </p>    </div>  </body>  </html>
Output:
Note: Both onmouseenter and onmouseover elements are similar except that the onmouseenter event does not propagate up the document hierarchy.
JavaScript-Misc
Picked
JavaScript
Web Technologies
Web technologies Questions
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Convert a string to an integer in JavaScript
Difference between var, let and const keywords in JavaScript
Differences between Functional Components and Class Components in React
How to append HTML code to a div using JavaScript ?
How to Open URL in New Tab using JavaScript ?
Roadmap to Become a Web Developer in 2022
Installation of Node.js on Linux
How to fetch data from an API in ReactJS ?
Top 10 Projects For Beginners To Practice HTML and CSS Skills
Convert a string to an integer in JavaScript