javascript - vanilla - tilt js vue
jQuery: ¿detecta si el mouse está quieto? (2)
Me preguntaba si había una forma de detectar si el mouse está inactivo durante 3 segundos en jQuery. ¿Hay algún complemento que desconozca? Porque no creo que haya un método jQuery nativo. ¡Cualquier ayuda sería muy apreciada!
No es necesario un complemento, ni siquiera jQuery:
(function() {
var idlefunction = function() {
// what to do when mouse is idle
}, idletimer,
idlestart = function() {idletimer = setTimeout(idlefunction,3000);},
idlebreak = function() {clearTimeout(idletimer); idlestart();};
if( window.addEventListener)
document.documentElement.addEventListener("mousemove",idlebreak,true);
else
document.documentElement.attachEvent("onmousemove",idlebreak,true);
})();
Puede escuchar el evento mousemove
, iniciar un tiempo de espera siempre que ocurra y cancelar cualquier tiempo de espera existente.
var timeout = null;
$(document).on(''mousemove'', function() {
clearTimeout(timeout);
timeout = setTimeout(function() {
console.log(''Mouse idle for 3 sec'');
}, 3000);
});
Esto se puede hacer muy fácilmente sin jQuery también (solo vinculando el controlador de eventos aquí es específico de jQuery).