jQuery: простой способ вызвать событие "mousestop" - PullRequest
3 голосов
/ 25 февраля 2011

HI

Я пытаюсь вызвать функцию, когда мышь перестала двигаться на х секунд. На самом деле это довольно просто с помощью следующего кода:

var timer = null;
$(document).mousemove(function(){
  clearTimeout (timer);
  timer = setTimeout(myfunction, 5000);
});

Но событие mousemove вызывается очень часто, поэтому я получаю довольно большую нагрузку на процессор в Firefox при перемещении мыши. Есть ли простой способ сделать то же самое с меньшим количеством вызовов функций ???

Thanx! Jan

Ответы [ 2 ]

0 голосов
/ 25 февраля 2011

Посмотрите на плагин jQuery hoverIntent

Использование такое же, как у jQuery hover , но событие вызывается только после небольшой настраиваемой задержки.

$('myselector').hoverIntent(
        function () { HoverIn(); },
        function () { HoverOut(); }
);
0 голосов
/ 25 февраля 2011

Используйте это и установите опцию задержки на х секунд

http://www.richardscarrott.co.uk/posts/view/jquery-mousestop-event

...