2011-01-10 20 views
15

Google Reader tiene una buena característica que cuando se cambia a la página web desde una página web diferente (dando el foco de la página) le mostrará las actualizaciones que se acumularon mientras la página estaba desenfocada.
Pregunta rápida # 1: ¿Cómo lo hacen?Evento cuando una página web se enfoca

Me imagino que pueden ser vinculantes para el mouse mover eventos + eventos de teclado ya que no conozco ningún evento de fábrica que te dé esa habilidad.

Google es una pesadilla (foco, pestaña, página web, usuario).

Pregunta rápida # 2: ¿Hay algún paquete por ahí que me da esa habilidad?

Estoy poniendo la etiqueta de jQuery como un faro para todos los desarrolladores web ninjas por ahí, pero realmente no se preocupan por el marco (siempre que su Javascript)

Respuesta

17

O uso:

$(window).focus(function() { 
    console.log('welcome (back)'); 
}); 

$(window).blur(function() { 
    console.log('bye bye'); 
}); 
+1

jquery focus no actúa como hover (función(), función()) (que es una pena), necesitaba enlazar al evento blur para "focusOut" –

+0

Aight lol. Ofc tienes razón. Mi error, cambié los dos. Sin embargo, debería actuar como dijiste :) Sería una buena característica. Gracias por mejorarlo y aceptarlo :). – PeeHaa

4

Uso focusin (enfoque) y focusout (desenfoque) en el document objeto:

$(document).bind('focus', function() { 
    console.log('welcome (back)'); 
}).bind('blur', function() { 
    console.log('bye bye'); 
}); 
+2

No creo que OP quiera ser notificado cada vez que un campo de la página recibe atención. Justo cuando cambias a una página. –

3

I ensayaron en FF ySe llama a 0 cuando cambio a esa ventana.

Cuestiones relacionadas