MouseEnter/MouseLeave events fired on touch/tap

Confirmed Issue #10511224 • Assigned to Bruce L.


Mike D.
Jan 12, 2017
This issue is public.
Found in
  • Microsoft Edge
Standard affected
Touch Events

Found in build #
Reported by 5 people

Sign in to watch or report this issue.

Steps to reproduce

Duplicate of, which was closed as "Not Reproducable". I would reopen that ticket, but it isn’t mine so I can’t (note that I did comment on that ticket, though.)

The issue is that the MouseLeave event is fired when an element is touched/tapped.

It can be reproduced in Edge 25.10586.672.0, on Windows 10, on a Surface Pro 4 (at the very least), using the codepen link from the other ticket:

Note that the div’s text changes to “Mouse Leave” on Edge, but not on either Chrome or Firefox on the same machine. Also, the W3 spec for the interaction of mouse events with touch events does not specify that the MouseLeave event should be fired:

Instead, note that the MouseLeave event is fired in Chrome and Firefox when tapping outside of the div’s text.


0 attachments

    Comments and activity

    • To be clear, I am using Edge 25.10586.672.0, and EdgeHTML 13.10586.

    • Also, I forgot to edit the title before submitting, but it turns out that MouseEnter firing is common among browsers, but MouseLeave still is not.

    • Microsoft Edge Team

      Changed Assigned To to “Ibrahim O.”

      Changed Assigned To to “Travis L.”

      Changed Assigned To to “Rick J.”

      Changed Assigned To to “Sermet I.”

      Changed Assigned To from “Sermet I.” to “Bruce L.”

      Changed Status to “Confirmed”

    • This is because of Pointer Events spec.

      A user agent MUST fire a pointer event named pointerleave when a pointing device is moved out of the hit test boundaries of an element and all of its descendants, including as a result of a pointerup and pointercancel events from a device that does not support hover (see pointerup and pointercancel).


      If the pointer event dispatched was:
      pointerover, then fire a mouseover event.
      pointerout, then fire a mouseout event.
      pointerenter, then fire a mouseenter event.
      pointerleave, then fire a mouseleave event.

    You need to sign in to your Microsoft account to add a comment.

    Sign in