0

我正在尝试将焦点集中在文档上。javascript/jQuery 函数被放置在一个框架内打开的文档中(网站上还有 5 个其他框架)。

这是从我当前状态中截取的一些代码:

$(document).ready(function () {
    $(window).focus();
    $(document).keypress(function (e) {
    [...]
    });
});

这在 Chrome 和 IE11 中效果很好,但在 Firefox 25 中效果不佳(应该与window.focus() 相关,self.focus() 在 firefox 中不起作用)。

我尝试了 $(document).focus() 但这根本不起作用(焦点未设置为文档/按键事件不会引发)。现在我想尝试在所有帧都完全加载时将焦点设置为文档(如果焦点也设置在稍后加载的另一个帧中)。所以我想出了类似的东西:

//Get the root window, attach event which is raised when all content(frames) are loaded.
$(window.opener).load(function () {
    $(document).focus();
});

但是永远不会引发 load 事件。有谁知道为什么这个事件从未被提出?或者任何其他想法如何将焦点设置在框架内的文档上(我不能向父文件添加任何新内容,这会影响其他项目)?

4

1 回答 1

-1
  function setFocusThickboxIframe() {
  var iframe = $("#TB_iframeContent")[0];
  iframe.contentWindow.focus();

}

$(document).ready(function(){
 $("#id_cmd_open").click(function(){
       setTimeout(setFocusThickboxIframe, 100);
  return false;
 });
于 2013-11-07T09:04:36.130 回答