2

我想知道:当引用编辑器对象时,我怎样才能获得该编辑器的实际底层源 DOM 元素 - 例如。文本区域?

editor.element什么?(不起作用)

谢谢。

4

1 回答 1

8

您可能对以下几个元素感兴趣:

  • editor.element- 初始化编辑器的原始元素。这可以是textarea框架编辑器的情况下,具有contenteditable属性的可编辑元素在内联编辑器或附加编辑器的容器中(使用时CKEDITOR.appendTo)。
  • editor.container- 主 CKEditor UI 容器。
  • editor.editable()- 这是一个返回当前CKEDITOR.editable实例的方法。Editable 继承自 element 并且它是放置编辑器内容的元素,因此例如在内联编辑器可编辑等于的情况下editor.element(虽然===不起作用,因为它不是同一个实例)并且在框架编辑器可编辑的情况下是里面的body元素iframe

现在,CKEditor 拥有自己的 DOM 操作库(它没有使用 jQuery,因为它早在它之前就创建了)。所有这些属性和方法返回的实例都CKEDITOR.dom.element与 jQuery 非常不同。

但是,您可以解开 CKEditor 的元素并将其包装在 jQuery 中:

jQuery( editor.editable().$ ).css( 'color', 'red' );

// Or:

jQuery( editor.element.$ ).hide();
于 2013-05-27T20:00:29.080 回答