即使鼠标静止不动,也会调用 jQuery mousemove()

发布于 2024-10-10 08:04:20 字数 213 浏览 2 评论 0原文

对我来说,如果我尝试这个例子: http://jsfiddle.net/bY3CC/3/即使我将鼠标移到文档上然后保持不动,也会出现“鼠标已移动”文本...

这是为什么? ;\

而且,似乎该消息只出现在 Chrome 中......

奇怪:-s

For me, if I try this example: http://jsfiddle.net/bY3CC/3/ the "mouse moved" text appears even if I move my mouse over the document and then I let it still...

Why's that? ;\

And also, seems like the message only appears in Chrome....

Strange :-s

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

剑心龙吟 2024-10-17 08:04:20

存储 x、y 坐标

$(document).mousemove((function(){
    var x,y;

    return function(evt){
        if(evt.clientX == x && evt.clientY == y){
            return;
        }
        x = evt.clientX;
        y = evt.clientY;
        $('#messages').append('mouse moved<br/>');
    };
})());

Store the x, y co-ordinates

$(document).mousemove((function(){
    var x,y;

    return function(evt){
        if(evt.clientX == x && evt.clientY == y){
            return;
        }
        x = evt.clientX;
        y = evt.clientY;
        $('#messages').append('mouse moved<br/>');
    };
})());
囍笑 2024-10-17 08:04:20

全局 event 对象是非标准的,因此它仅存在于某些浏览器中,例如 IE(可能仅在怪异模式下)以及 Chrome 中。

接受事件对象作为事件处理程序的参数:

var last_moved=0;
$(document).mousemove(function(e){
  var now = e.timeStamp;    
  if (now - last_moved > 1000) {
    $('#messages').append('mouse moved<br/>');
    last_moved = now;
  }
});

jsfiddle.net/bY3CC/5/

The global event object is non-standard, so it only exists in some browsers, like IE (perhaps only in quirks mode) and appearently in Chrome.

Accept the event object as a parameter to the event handler:

var last_moved=0;
$(document).mousemove(function(e){
  var now = e.timeStamp;    
  if (now - last_moved > 1000) {
    $('#messages').append('mouse moved<br/>');
    last_moved = now;
  }
});

jsfiddle.net/bY3CC/5/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文