【问题标题】:set focus to iframe body/content in firefox?在Firefox中将焦点设置为iframe正文/内容?
【发布时间】:2010-12-03 06:16:23
【问题描述】:

我有一个 ifram,它具有隐藏的可见性。 我点击按钮 - iframe 将可见,我想专注于它的正文/内容。 因为现在我必须点击按钮然后进入 iframe,所以点击两次。我想一键搞定,但不知道如何在Firefox中对焦。

在资源管理器中没问题:

var iframe_window = window.frames["myFrame"];
iframe_window.document.body.focus();

为 Firefox 尝试了很多示例,但它们不起作用。有人知道如何在Firefox中做到这一点吗?谢谢。

【问题讨论】:

  • 为什么要使用 frame 和 iframe !!! (生病)
  • 做 rte html 编辑器之类的东西。没有比使用 iframe 更好的主意。不知道是否可以不使用 iframe。

标签: html firefox iframe focus


【解决方案1】:

尝试首先将焦点设置为iframe_window,然后再将焦点设置为您的实际内容:

iframe_window.focus();
iframe_window.contentDocument.body.focus();

【讨论】:

    【解决方案2】:

    iframe_window.contentDocument.body.focus();
    

    工作?

    【讨论】:

    • 使用时怎么样 var iframe_window = document.getElementById('myFrame');将 myFrame 作为 iframe 上的 id 属性?
    • 是的,我有 'myFrame' 作为 id 属性和 name 属性,但它仍然不起作用
    【解决方案3】:

    我认为您可能需要真正关注 iFrame 内部的某些内容; iFrame 本身不会对焦点做任何事情,但也许您可以将焦点放在其中的 DIV,甚至是小部件?

    【讨论】:

      【解决方案4】:

      尝试将焦点设置到

      【讨论】:

        【解决方案5】:

        并非每个元素都支持.focus()。您可以使用键盘/鼠标以编程方式聚焦元素吗?

        焦点可以转到元素表单元素或“a”标签或将 contant-editable 属性设置为 true 的跨度。

        在 iframe 中找到这样一个元素并尝试专注于它。应该工作!

        【讨论】:

        • 焦点也可以转到具有tabindex 属性的元素。
        【解决方案6】:

        我遇到了同样的问题(仅在 firefox 中),我似乎已经通过仅将焦点设置在 iframe 上解决了它您确定 iframe已完全加载。在我的 iframe html 中:

        <body onLoad="init();>
        

        iframe 页面内的 Javascript:

        this.init = function(){
            parent.focusframe();
        }
        

        这个javascript在父窗口中:

        this.focusframe = function(){
            var fr = document.getElementById("gameframe");
            fr.contentWindow.focus();
        }
        

        【讨论】:

          猜你喜欢
          • 2010-09-27
          • 1970-01-01
          • 2011-12-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-26
          • 2014-09-01
          • 1970-01-01
          相关资源
          最近更新 更多