0

これはFirefoxとIEで正常に機能していますが、Chromeで機能させることができません。

self.editorIframeDocument.body.focus()

editorIframeDocument== contentDocument|| contentWindow.documentブラウザによって異なります。

.body.focus()エディターが読み込まれると、すぐに入力を開始できるようになります。完璧ですが、Chromeでは機能しません。iframeとiframeに接続してみました#documentが、うまくいきませんでした。

選択範囲を設定して削除するハックをいくつか見ましたが、それらはすべて、何もないものから大量のテキストまで何も含まない可能性<div> contenteditableのある特定のHTMLを内部に持つ例でした。<iframe>

jQueryはありません。

4

1 に答える 1

1

問題は、エディターがまだロードされていないため、Chromeがそれに集中できないことでした。準備完了状態をチェックすると、問題が修正されました。

if (self.settings.focusOnLoad) {
  // We need to wait until all three iframes are done loading by waiting until the parent
  // iframe's ready state == complete, then we can focus on the contenteditable
  self.iframe.addEventListener('readystatechange', function () {
    if (self.iframe.readyState == 'complete') {
      self.editorIframeDocument.body.focus();
    }
  });
}
于 2012-06-21T15:27:13.277 に答える