我正在尝试使用jQuery将焦点放在窗口上。该窗口是通过父页面上的按钮单击启动的弹出窗口。子窗口中有一些ajax调用,因此数据正在更新。我的问题是,如果用户单击父窗口并将子窗口隐藏在其后面,则如果有数据更新,我希望将该子窗口带回前台。
在$(document).ready中,我绑定了以下事件:
$(window).blur(function(){
WindowHasFocus =false;
}).focus(function(){
WindowHasFocus =true;
});
如果数据被更新,我就调用这个函数:
function FocusInput(){
if(!WindowHasFocus){
$(window).focus();
}
}
这在IE8中的效果如预期一样,但在FireFox(和所有其他浏览器)中,如果我点击父窗口,则模糊事件似乎从未发生过。 有什么建议/想法可以实现这一点吗?
更新:
完全愚蠢的时刻: 在FireFox中: * 工具 * 选项... * 内容选项卡 * “启用JavaScript”旁边的高级按钮 * 选中名为“提升或降低窗口”的复选框