【问题标题】:Why does mousemove event only trigger once and trigger again only when cursor leaves window and returns?为什么mousemove事件只触发一次,只有当光标离开窗口并返回时才会再次触发?
【发布时间】:2019-04-26 14:59:53
【问题描述】:

我正在尝试使用 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);

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

【问题讨论】:

    标签: jquery dom-events


    【解决方案1】:

    尝试将事件附加到 DOM 元素,如 div(容器)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多