将焦点设置为框架内的文档 (jQuery)

Set focus to document inside frame (jQuery)

本文关键字:文档 jQuery 焦点 设置 框架      更新时间:2023-09-26

我正在尝试将焦点设置为文档。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();
});

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

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

}

$(document).ready(function(){
 $("#id_cmd_open").click(function(){
       setTimeout(setFocusThickboxIframe, 100);
  return false;
 });