当鼠标快速移动时,jQuery悬停不会捕获所有事件

时间:2010-01-15 13:27:18

标签: jquery javascript-events

我已经将jQuery挂钩到我页面上的许多元素,当我快速移动鼠标时,hove将不会捕获应该被触发的所有事件。这个“功能”有没有解决方法?

3 个答案:

答案 0 :(得分:2)

这是一个比你想象的更深层次的问题。当您快速移动鼠标时,它沿着从a到b的路径上的所有点都不存在,并将跳过像素。

我不知道有什么办法从鼠标位置插入数据并将其作为一系列悬停事件发送给jQuery,但这就是你需要做的就是让你的工作方式符合预期它来。

mouse rate checker可能会让您更深入地了解此问题。

答案 1 :(得分:0)

将“悬停”绑定到一个大的“画布”元素 - 包含所有其余元素的东西,然后分析它应该在事件发射之间的路线上击中的坐标和元素。 这是一项可怕的工作(您需要创建一个包含所有活动元素的地图并使用向量交叉查找算法来查找路径和元素的交叉点),但这是唯一可行的。否则,只需减少事件中的元素数量或重新设计界面...或使用更快的计算机(所有客户端)。

答案 2 :(得分:0)

HoverIntent jQuery插件解决了我的问题。谢谢所有答案!!!

http://cherne.net/brian/resources/jquery.hoverIntent.html