Native mousedown and mouseup events should check and update the variable too: a mousedown always follows a mouseenter and mouseover to the same target in all major browsers.
Possible solution
Rewrite Section 3.4.4. Mouse Event Order into a method named updateElementUnderMouse which will check and update the variable and fire all required boundary events. Call this from native mouse event handlers.
Mouse boundary event (mouseenter/leave/over/out) dispatch is currently tracked using the state variable
last_mouse_element
. The variable is checked and updated only in Section 3.4.3.15. handle native mouse move.Native mousedown and mouseup events should check and update the variable too: a mousedown always follows a mouseenter and mouseover to the same target in all major browsers.
Possible solution
Rewrite Section 3.4.4. Mouse Event Order into a method named
updateElementUnderMouse
which will check and update the variable and fire all required boundary events. Call this from native mouse event handlers.