我正在尝试使用 jquery 将焦点带到窗口。该窗口是通过单击父页面上的按钮启动的。我在子窗口中进行了一些 ajax 调用,因此正在更新数据。我的问题是,如果用户单击父窗口并将子窗口隐藏在它后面,如果有数据更新,我想将该子窗口带回最前面。
在 $(document).ready 中,我连接这些事件:
$(window).blur(function(){
WindowHasFocus =false;
}).focus(function(){
WindowHasFocus =true;
});
然后,如果数据更新了,我调用这个函数:
function FocusInput(){
if(!WindowHasFocus){
$(window).focus();
}
}
这在 IE8 中按预期工作,但在 FireFox(和所有其他浏览器)中,如果我单击父窗口,Blur 事件似乎永远不会触发。关于如何实现这一目标的任何建议/想法?
更新:
总脸掌时刻: 在火狐中: * 工具 * 选项… * 内容选项卡 * “启用 JavaScript”旁边的高级按钮 * 选中名为“升高或降低 window ”的框
最佳答案
总捂脸时间:在 FireFox 中:
- 工具
- 选项……
- 内容标签
- “启用 JavaScript”旁边的高级按钮
- 勾选“升高或降低 window ”复选框
这是默认关闭的,必须启用。而且,我假设因为它在 Chrome 中不起作用,所以 Safari 会是一样的,但你知道他们怎么说“假设”(它在 Safari 中有效,但在 Chrome 中无效)。
关于javascript - jquery 中如何将焦点放在一个窗口上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/683577/