我已经将jQuery hover绑定到页面上的许多元素上,当我快速移动鼠标时,hover将无法捕获所有应该触发的事件。
t1rydlwq1#
这个问题比你想象的要深,当你快速移动鼠标时,它并不存在于从a到b的路径沿着的所有点上,而且会跳过像素。我不知道有什么方法可以从鼠标位置插入数据,并将其作为一系列悬停事件发送到jQuery,但这将是您必须做的,以使其按您期望的方式工作。这个mouse rate checker可能会给予您更深入地了解这个问题。
xkrw2x1b2#
将“hover”绑定到一个大的“canvass”元素--包含所有其他元素的东西,然后分析坐标和元素,它应该在事件触发之间的路线上击中。这是一个可怕的工作(你需要创建一个所有活动元素的Map,并使用矢量交叉查找算法来查找路线和元素的交叉点)但大约只有这样才能起作用。否则,只是减少事件的元素数量或重新设计界面...或使用更快的计算机(所有客户端)。
hkmswyz63#
HoverIntent jQuery插件解决了我的问题。感谢所有的答案!!!http://cherne.net/brian/resources/jquery.hoverIntent.html
3条答案
按热度按时间t1rydlwq1#
这个问题比你想象的要深,当你快速移动鼠标时,它并不存在于从a到b的路径沿着的所有点上,而且会跳过像素。
我不知道有什么方法可以从鼠标位置插入数据,并将其作为一系列悬停事件发送到jQuery,但这将是您必须做的,以使其按您期望的方式工作。
这个mouse rate checker可能会给予您更深入地了解这个问题。
xkrw2x1b2#
将“hover”绑定到一个大的“canvass”元素--包含所有其他元素的东西,然后分析坐标和元素,它应该在事件触发之间的路线上击中。这是一个可怕的工作(你需要创建一个所有活动元素的Map,并使用矢量交叉查找算法来查找路线和元素的交叉点)但大约只有这样才能起作用。否则,只是减少事件的元素数量或重新设计界面...或使用更快的计算机(所有客户端)。
hkmswyz63#
HoverIntent jQuery插件解决了我的问题。感谢所有的答案!!!
http://cherne.net/brian/resources/jquery.hoverIntent.html