jQuery:mouseenter / mousemove / mouseover无法通过小div和快速鼠标移动识别

时间:2013-02-22 08:05:40

标签: jquery mouseover

我有一个div width:5px 和 height:400px (例如)。 如果我想在这个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更宽不是一个选择......

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

它只是" 浏览器如何工作&#34 ;;它根本不会为您触摸的每个像素触发事件,但是每x个毫秒都会触发事件。它会检查指针前一个位置的位置是否不同,然后会触发事件。这是通过操作系统处理的。

将鼠标快速移动到this changed version of your JSFiddle上方。并非所有条形图都会直接着色:仅在浏览器中定义的x毫秒数之后。