我最近在 javascript 中发现了 mouseout 事件的一个奇怪行为。
请看我的 fiddle :http://jsfiddle.net/Uf3xQ/25/

当我将鼠标悬停在按钮上时,会触发 mouseenter 事件。当我离开按钮时,mouseout 事件被触发。到现在为止还挺好。

现在,当我悬停,然后单击并且单击事件显示一个放置在按钮上的 div 时,mouseout 事件也将被触发。

但是,例如,当使用 setTimeout 短暂延迟后显示 div 时,在我移动鼠标之前不会触发 mouseout 事件。

你能向我解释这种行为吗?

更新:
我将错误提交给了 Chromium,他们确认了这一点。见这里:http://code.google.com/p/chromium/issues/detail?id=159389

该错误也发生在 Opera、Safari(常见的 WebKit)和 IE 中

最佳答案

我浏览了 WebKit bugzilla 并且 https://bugs.webkit.org/show_bug.cgi?id=4117 似乎是您的错误,您应该向该错误添加一条新评论,并附上指向您的测试用例的链接,因为该错误中链接的测试用例似乎丢失了(404 错误)。

关于javascript - 当悬停的元素被另一个元素覆盖时不会触发 mouseout,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13228656/

10-13 00:59