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

时间:2013-11-07 08:51:41

标签: javascript jquery

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

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

1 个答案:

答案 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;
 });