1

我有一个宽度:5px高度:400px的 div (例如)。如果我想在这个 div 悬停时触发一个函数,当我将鼠标移动得太快时无法识别事件(如果我使用 mouseover/mouseenter/mousemove 无关紧要)。

您可以在这里看到一个工作示例:http: //jsfiddle.net/2YZvk/

这是我的功能:

jQuery(document).ready(function(){
    jQuery('.hover_test').bind('mouseenter',function(){
        jQuery(this).css('background-color','#30a900');
    });
});

是否有可能以某种方式触发此事件,即使我将鼠标移动得太快?使 div 更宽不是一种选择......

4

2 回答 2

0

当您将鼠标移动到快时,速度为(例如)5,并且 5 + 5 + 5 + 5 = 20,因此您可以触摸的步数是 5、10、15、20,但如果 div 为 7 , 14, 18 它不会发生,它只是它的工作方式

于 2013-02-22T08:09:47.383 回答
0

这只是“浏览器的工作原理”;它根本不会为您触摸的每个像素触发事件,而是为每 x 毫秒触发事件。它会检查指针先前位置的位置是否不同,然后会触发该事件。这是通过操作系统处理的。

将鼠标快速移动到JSFiddle 的这个更改版本上。并非所有条形都会直接着色:仅在浏览器中定义的 x 毫秒数之后。

于 2013-02-22T08:28:12.927 回答