如何将焦点带到jquery的窗口?

Mik*_*e_G 9 javascript jquery

我试图使用jquery将焦点带到窗口.通过父页面上的按钮单击弹出窗口.我在子窗口中进行了一些ajax调用,因此数据正在更新.我的问题是,如果用户点击父窗口并隐藏其后面的子项,我想在有数据更新时将该子窗口恢复到最前端.

在$(document).ready中我连接了这些事件:

  $(window).blur(function(){
    WindowHasFocus =false;
}).focus(function(){
    WindowHasFocus =true;
});
Run Code Online (Sandbox Code Playgroud)

然后,如果数据更新,我调用此函数:

function FocusInput(){

 if(!WindowHasFocus){
    $(window).focus();
 }
}
Run Code Online (Sandbox Code Playgroud)

这在IE8中按预期工作,但在FireFox(以及所有其他浏览器)中,如果单击父窗口,Blur事件似乎会触发.关于如何实现这一点的任何建议/想法?

更新:

总facepalm时刻:在FireFox中:*工具*选项...*内容选项卡*"启用JavaScript"旁边的高级按钮*选中名为"提升或降低Windows"的框

Mik*_*e_G 3

总捂脸时刻: 在 FireFox 中:

\n\n
    \n
  • 工具
  • \n
  • 选项\xe2\x80\xa6
  • \n
  • 内容选项卡
  • \n
  • \xe2\x80\x9c 旁边的高级按钮启用 JavaScript\xe2\x80\x9d
  • \n
  • 选中名为“升高或降低 Windows”的框
  • \n
\n\n

默认情况下此功能处于关闭状态,必须启用。而且,我假设既然它在 Chrome 中不起作用,那么 Safari 也会是相同的,但你知道他们所说的“假设”(它在 Safari 中起作用,但在 Chrome 中不起作用)。

\n