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
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).