The mouseover event fires when a pointing device moves the cursor onto an element or one of its children. Learn addEventListener vs onmouseover, bubbling vs mouseenter, the mouseout pair, relatedTarget, and five try-it labs.
01
Kind
Instance event
02
Type
MouseEvent
03
When
Enters element / child
04
Handler
onmouseover
05
Bubbles?
Yes
06
Status
Baseline widely available
Fundamentals
Introduction
mouseover answers: “Did the pointer move onto this element—or onto a child inside it?” Because children have their own boundaries, moving among descendants fires more mouseover events.
That is why MDN often prefers mouseenter for whole-component hover enter: mouseenter ignores descendant boundaries. mouseover is still useful when you want bubbling or per-child enter highlights.
💡
Beginner tip
Pair mouseover with mouseout (bubbling). Pair mouseenter with mouseleave (non-bubbling). Pick the pair that matches your hover model.
Concept
Understanding mouseover
An instance event that answers: “Did the pointer move onto this target (including a child)?”
Fires when the cursor moves onto the element or one of its children.
Bubbles — can be listened for on a parent (delegation).
Descendants — moving among child boundaries fires more events.
Pair — mouseout when the pointer leaves.
Baseline Widely available on MDN (since July 2015).
Foundation
📝 Syntax
Use the event name with addEventListener, or set the handler property:
mouseover is marked Baseline Widely available on MDN (since July 2015). Logos use the shared browser-image-sprite.png sprite from this project. Bubbling enter/over behavior is consistent across modern engines.
✓ Baseline · Widely available
Element mouseover
Fires when the pointer enters an element or a child; bubbles unlike mouseenter.
FullWidely available
Google ChromeFull support
Yes
Mozilla FirefoxFull support
Yes
Apple SafariFull support
Yes
Microsoft EdgeFull support
Yes
OperaFull support
Yes
Internet ExplorerSupported
Yes
mouseoverBaseline
Bottom line: Useful for delegation and per-child enters. Prefer mouseenter for quiet whole-component hover enter.
Wrap Up
Conclusion
mouseover is the bubbling “entered this target” signal—including when the pointer moves onto a child. Use it for delegation and per-child enters; prefer mouseenter for whole-component hover setup.
Pair with mouseout when you need the bubbling leave twin
Prefer addEventListener in production code
❌ Don’t
Expect quiet behavior while moving among children
Assume mouseover equals mouseenter
Forget that entering a child fires another mouseover
Build flicker-prone hover UI without filtering targets
Overwrite onmouseover if you need multiple listeners
Summary
Key Takeaways
Knowledge Unlocked
Five things to remember about mouseover
Entered the target—bubbling, child-aware enter.
5
Core concepts
📱01
On over
element or child
Trigger
📄02
Bubbles
unlike mouseenter
API
👆03
Child edges
more events
Why
🔄04
mouseout
leave twin
Pair
🎯05
Baseline
widely available
Status
❓ Frequently Asked Questions
It fires when a pointing device moves the cursor onto an element or one of its child elements.
No. MDN marks Element mouseover as Baseline Widely available (since July 2015). It is not Deprecated, Experimental, or Non-standard.
A MouseEvent (inherits from UIEvent and Event). Useful fields include relatedTarget, clientX, clientY, and target.
mouseover bubbles and also fires when moving onto child elements (or among child boundaries). mouseenter does not bubble and fires only when entering the element and its descendant tree as a whole.
For whole-component hover enter without descendant noise, MDN notes mouseenter/mouseleave are usually more sensible than mouseover/mouseout.
When you want bubbling/delegation, or when you care about entering individual children (for example highlighting each list item as the pointer moves over it).
Did you know?
MDN’s classic demo puts both listeners on one ul: mouseover paints individual li items orange, while mouseenter paints the whole list purple—proof that children are separate targets for mouseover.