当鼠标移动缓慢时,mouseleave事件不会被触发。

6
如果你在页面顶部的一个div上放置了一个mouseleave监听器,在Chrome中,如果你缓慢地将鼠标移出页面顶部,它将不会触发(但是如果你快速移动,则正常工作)。如果你在文档或body上监听事件也是一样的。在Firefox中没有问题。
你可以在这个codepen中看到这个问题。取消CSS填充以查看我的当前解决方案。
你有什么想法,为什么会这样呢?可能是Webkit的bug吗?其他的解决方法呢?
更新:这与jQuery无关——我使用Chrome中的本机mouseleave JavaScript事件重现了该问题。
更新:已提交Chromium问题:缓慢移动鼠标时未触发mouseleave事件

我的Safari上运行良好。 - Sterling Archer
2
这只发生在你的Codepen代码中,当布局为“视图在底部”时,如果我将其更改为“视图在侧面”,它就可以正常工作。你尝试过在Codepen之外的地方吗?例如,在Lquery的演示中,它对我来说很好用。 - Noampz
@Noampz 这很有趣。是的,我尝试过这个,但不是在 CodePen 上 - 我的线上网站也存在这个问题。你能否确认当你在“全屏”模式下尝试时会得到什么结果?链接:http://codepen.io/jackocnr/full/wsoBj - jackocnr
我向jQuery提交了一个错误报告,但可能是Webkit的问题。http://bugs.jquery.com/ticket/14616 - jackocnr
更新:这不是jQuery的问题 - 请查看更新后的Codepen。那么这只是Chrome的问题?不确定在哪里提交错误报告。 - jackocnr
在Firefox中出现了相同的问题。 - jjxtra
1个回答

1
代码笔全屏模式对我来说很好用,即使是慢动作也能增加计数器。 我在Windows 7上使用Chrome 31.0进行了测试。

对我来说,移动鼠标以查看问题的速度是不确定的,但当我尽可能地缓慢移动它时,例如每秒1像素,我始终能看到它。我在OSX 10.9上使用Chrome 31。 - jackocnr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接