我正在尝试将焦点设置为文档。 javascript / jQuery函数被放入一个在框架内打开的文档中(网站上还有5个其他框架)。
下面是我当前状态下的一些代码:
$(document).ready(function () {
$(window).focus();
$(document).keypress(function (e) {
[...]
});
});
这适用于Chrome和IE11,但不适用于Firefox 25(应与window.focus(), self.focus() not working in firefox相关)。
我尝试使用$(document).focus(),但这根本不起作用(焦点未设置为document / keypress事件不会引发)。 现在我想尝试将焦点设置为在所有帧完全加载时的文档(在焦点也设置在稍后加载的另一帧中的情况下)。所以我想出了类似的东西:
//Get the root window, attach event which is raised when all content(frames) are loaded.
$(window.opener).load(function () {
$(document).focus();
});
但是永远不会引发加载事件。有谁知道为什么这个事件永远不会被提出?或者任何其他想法如何将焦点设置在框架内的文档上(我不能向父文件添加任何新内容,这会影响其他项目)?
答案 0 :(得分:-1)
function setFocusThickboxIframe() {
var iframe = $("#TB_iframeContent")[0];
iframe.contentWindow.focus();
}
$(document).ready(function(){
$("#id_cmd_open").click(function(){
setTimeout(setFocusThickboxIframe, 100);
return false;
});