我希望在以下情况下触发我的javascript:
失去焦点事件可能不适合我,因为我的页面中有弹出的diaglogs,因此当它弹出时,IE选项卡将失去焦点,但由于标签不是切换或关闭,我不希望我的javascript被触发。
有什么解决方案吗?我想知道是否有 输入标签 / 离开标签 或 标签 - 切换 事件?
一些有趣的链接,但没有解决我的问题。
Is there a way to detect if a browser window is not currently active?
答案 0 :(得分:1)
如果您使用'jQuery',您可以轻松完成。
$(window).blur(function(){
// your code
});
$(window).focus(function(){
// your code
});
这里是link,它提供了另外一种方法。
答案 1 :(得分:1)
您可能对
感兴趣(function(){
function doOnFocus(){ console.log("focus"); }
function doOnBlur(){ console.log("blur"); }
function doOnLeave(){ console.log("leave"); }
if('onfocusout' in document){
document.onfocusout = doOnBlur;
document.onfocusin = doOnFocus;
}else{
window.onblur = doOnBlur;
window.onfocus = doOnFocus;
}
window.onbeforeunload = doOnLeave;
})();
答案 2 :(得分:0)
在javascript中,窗口关闭时有一个事件,它不是IE特定的,但主要用于在用户离开页面之前调用警报。这是我的一个烦恼,非常讨厌,但可能正是你想要的。
window.onbeforeunload = yourfunctionthatexecutes;