在FF,IE和Chrome中检测窗口onblur()事件?

时间:2012-05-17 02:35:47

标签: javascript javascript-events event-handling cross-browser

我目前有以下代码:

if (document.onfocusin !== undefined) {
    var onfocusin = true; 
}  
else{   
    var onfocusin = false; 
}

if (onfocusin === true)
{   
    document.onfocusout = ad_blur; //ad_blur is a function I defined 
                                   //when window.onblur() fires
}  else{
    window.onblur = ad_blur; 

}

代码在IE 8和Chrome 17中工作正常,但在FF 8中没有,我还发现了一些其他代码,但兼容性不符合我的需要。所以问题是:有没有办法在IE,FF和Chrome中确定window.onblur()事件?

更具体地说,我想在新窗口(或标签页)打开时处理该事件。

1 个答案:

答案 0 :(得分:3)

正如jmort253所提到的,jQuery非常擅长这一点,这里的代码几乎适用于所有当前浏览器:

$(document).ready(function() {
    $(window).blur(function() {
        ad_blur();  //here is what you wanna do when blur fires
    });
});