2010-11-04 40 views

Respuesta

5

creo que estás en busca de esto: https://github.com/jasonmcleod/jquery.idle

+0

Exactamente lo que estaba buscando. Simple y efectivo. ¡Gracias! –

+1

jquery.idle solo mira los eventos mousemove. Entonces, si está satisfecho etiquetando a un usuario como inactivo simplemente porque no han movido el mouse, entonces esto debería funcionar bien para usted. Sin embargo, es posible que también desee ver otros eventos, como la entrada de teclado. – pinkfloydx33

+0

Eso es correcto, y es todo lo que necesito. –

13

Es posible que desee escuchar por algunos o todos de los siguientes eventos:

mouseMove, clic de ratón, mouseUp, mouseDown, keyDown, keyUp, keyPress

establece un temporizador para que se apague después de un tiempo de inactividad (60 segundos?) Y que apagará su interruptor asegúrese de comprobar el interruptor antes de que su Ajax lo solicite.

Idealmente acelerará exponencialmente sus llamadas ajax a un valor bajo cuanto más tiempo permanezca inactivo.

$(window).bind('mousemove click mouseup mousedown keydown keypress keyup submit change mouseenter scroll resize dblclick', someEvent); 
var active = true, 
    delay = 60000, 
    timer = null; 

function someEvent(e) 
{ 
    active = true; 
    if (timer) clearTimeout(timer); 
    timer = setTimeout(function(t){ 
    active = false; 
    }, delay); 
} 
+0

Realmente me gustaron tus ideas. ¡Gracias! –

+1

Esto requiere antirrebote. – zzzzBov

+0

¿Eh? ¿Qué quieres decir? –

Cuestiones relacionadas