11

私にとっては、この例を試してみると、http://jsfiddle.net/bY3CC/3/マウスをドキュメントの上に移動して静止させても、「マウスが移動しました」というテキストが表示されます...

なぜですか?;\

また、メッセージはChromeでのみ表示されるようです....

奇妙な :-s

4

2 に答える 2

11

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/>');
    };
})());
于 2013-02-26T10:29:21.570 に答える
4

グローバル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/

于 2011-01-02T15:43:08.890 に答える