Search code examples
javascriptdom-events

mouseout not fired when hovered element gets covered by another element


I recently discovered a strange behavior with the mouseout event in JavaScript. Please see my fiddle: http://jsfiddle.net/Uf3xQ/25/

When I hover over the button, the mouseenter event is fired. When I leave the button, the mouseout event is fired. So far so good.

Now when I hover, then click and the click event shows a div which is placed over the button, the mouseout event will also be fired.

But when the div is showed after a short delay using setTimeout for example, the mouseout event won't be fired until I move the mouse.

Can you explain this behavior to me?

UPDATE: I submitted the bug to chromium and they confirmed it. See here: http://code.google.com/p/chromium/issues/detail?id=159389

The bug also occurs in Opera, Safari (WebKit in common) and IE


Solution

  • I browsed WebKit bugzilla and https://bugs.webkit.org/show_bug.cgi?id=4117 appears to be your bug, you should add a new comment to the bug with a link to your testcase, as the testcases linked in the bug seem to be lost (404 error).