将焦点设置为jHtmlArea jQuery插件

时间:2009-10-23 20:59:04

标签: javascript jquery jquery-plugins focus setfocus

我在我的页面上使用了jHtmlArea jQuery插件,我点击了一个按钮即可看到它。现在我正在尝试将焦点放在jHtmlArea编辑器中,一旦它显示出来,但似乎无法到达那里。

我确实找到了这篇博文Setting Focus to Control in an IFRAME using jQuery,其中讨论的是通过首先将焦点设置为IFrame然后将焦点设置为元素,将焦点设置到IFrame中的元素内,但jHTMLArea不会放置任何内容。元素进入其IFrame。

所以要么我没有正确选择IFrame的身体元素,要么向身体调用.focus()对我没有任何作用。

这是jHtmlArea正在生成的输出:

<div class="jHtmlArea" style="width: 498px;">
  <div class="ToolBar" style="width: 496px;">
    <ul>
      ... removed toolbar code for briefness
    </ul>
  </div>
  <div>
    <iframe style="height: 256px; width: 494px;">
      <html>
        <head>
          <link rel="stylesheet" type="text/css" href="jHtmlArea.Editor.css"></link>
        </head>
        <body>
           <br _moz_editor_bogus_node="TRUE" _moz_dirty=""/>
        </body>
      </html>
    </iframe>
  </div>
  <textarea id="TxtAreaDescription" rows="15" cols="60" name="TxtAreaDescription" style="display: none;"/>

以下是我尝试过的一些内容:

var iframe = $("iframe");
if (iframe != null) {
    $(iframe).focus();
    $(iframe).contents().find("body").focus();
}

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:3)

  

loading:function(){               this.iframe [0] .contentWindow.focus();           }