JQuery mousemove() вызывается, даже если мышь по-прежнему
Для меня, если я попробую этот пример: http://jsfiddle.net/bY3CC/3/ текст "перемещенный мышь" появляется, даже если я наводил указатель мыши на документ а потом я все еще...
Почему?;\
А также, похоже, сообщение появляется только в Chrome....
Странный: -s
Ответы
Ответ 1
Глобальный event
объект является нестандартным, поэтому он существует только в некоторых браузерах, например IE (возможно, только в режиме quirks) и, видимо, в 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/
Ответ 2
Сохраните координаты 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/>');
};
})());