Podés intentar una aproximación algo así:
Código HTML:
Ver original<!doctype html>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript"> $(function(){
$(window)
.focus(function(){
escribir('Ventana ganó foco');
})
.blur(function(){
escribir('Ventana perdió foco');
});
//...
var log = $('#log');
function escribir(texto){
var p = $('
<p />').hide().text(texto);
log.append(p);
p.fadeIn();
}
});
Funciona en Chrome, al menos. Pero lo dispara dos veces. No lo analicé demasiado, pero me pareció interesante. Probalo bien a lo mejor sirve.
Buscando más encontré un método que parece interesante:
hasFocus(). Parece ser más compatible con otros navegadores y más limpio también.