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 回答