Pergunta

Eu estou usando o plugin jQuery jHtmlArea na minha página e eu estou tornando-o visível onclick de um botão. Agora eu estou tentando colocar o foco no editor jHtmlArea uma vez que é exibida, mas simplesmente não consigo chegar lá.

Eu encontrei este post definir foco para controle em um IFRAME usando jQuery que está falando sobre como definir o foco para um elemento dentro do iframe que o thickbox plug-in utiliza, definindo o foco para o IFrame primeiro em seguida, para o elemento, mas jHTMLArea não coloca quaisquer elementos em seu IFrame.

Então, ou eu não estou selecionando adequadamente elemento do corpo do iframe ou chamando .focus() para o corpo não está fazendo nada para mim.

Aqui está a saída que jHtmlArea está gerando:

<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;"/>

Eis alguns dos que eu tentei:

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

Obrigado por qualquer ajuda que você pode passar.

Foi útil?

Solução

carregado: função () { this.iframe [0] .contentWindow.focus (); }

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top