RESOLVED DUPLICATE of bug 156971 Bug 186094
mouseout and mouseleave should not be dispatched on removed DOM node
https://bugs.webkit.org/show_bug.cgi?id=186094
Summary mouseout and mouseleave should not be dispatched on removed DOM node
Robert Flack
Reported 2018-05-30 07:43:48 PDT
Visit http://output.jsbin.com/sekaqit Move the mouse over the gray hover me box The mouseenter listener removes the gray box According to https://www.w3.org/TR/uievents/#events-mouseevent-event-order: If the event target (e.g. the target element) is removed from the DOM during the mouse events sequence, the remaining events of the sequence MUST NOT be fired on that element. However, in Safari the mouseout and mouseleave events are fired. If you delay removing the DOM node, they are fired the next time the mouse is moved. If my reading of the spec is correct, Safari should not be dispatching mouseout and mouseleave on the removed node.
Attachments
Radar WebKit Bug Importer
Comment 1 2018-05-31 11:31:06 PDT
DavidRushton
Comment 2 2019-01-24 04:52:51 PST
Most DOM events do bubble, however, there are a few exemptions. The mouse enter and mouse leave events don't bubble, however, mouseover and mouseout are the percolating partners. The concentration and obscure occasions don't bubble, however on standardizes focusing and focus out as foaming reciprocals. https://www.assignmentland.co.uk
Ryosuke Niwa
Comment 3 2019-01-24 19:51:46 PST
WebKit's behavior matches that of Gecko but not Chrome. We'd have to figure out which one is more web compatible. The spec's text is probably irrelevant here (in that we should be changing the spec to whichever way that is more web compatible).
Lucas Forschler
Comment 4 2019-02-06 09:19:13 PST
Mass move bugs into the DOM component.
Ryosuke Niwa
Comment 5 2019-02-06 21:05:32 PST
*** This bug has been marked as a duplicate of bug 156971 ***
Note You need to log in before you can comment on or make changes to this bug.