为什么mousemove事件仅触发一次并仅在光标离开窗口并返回时才再次触发?

时间:2019-04-26 14:59:53

标签: jquery dom-events

我正在尝试使用jQuery mousemove事件,但是mousemove事件仅触发一次。直到我将光标移到页面窗口之外,然后再将光标移回到窗口中,该事件才会再次触发。

我尝试同时使用普通的Javascript和jQuery,但是发生相同的问题。当我在测试网页上尝试此代码时,它可以按预期工作。我在使用Primefaces和带有框架的框架集的旧版应用程序中遇到此问题。想知道是否有人知道通常会导致这种行为的原因。

jQuery:

var counter = 0;
$(document).ready(function () {
    $(this).mousemove(function (e) {
        counter = counter + 1;
    console.log(counter);
    });

Javascript:

var counter = 0;
document.addEventListener('mousemove', function() { 
        counter = counter + 1;
    console.log(counter);
}, false);

我希望在移动鼠标时计数器会继续计数,但是在将鼠标移出窗口并返回窗口后,计数器只会计数一次。

1 个答案:

答案 0 :(得分:0)

尝试将事件附加到div(容器)之类的DOM元素上

<script>
$( "div" ).mousemove(function( event ) {
  //handle event here
});
</script>