CKEditor:获取编辑器的源DOM元素?

时间:2013-05-27 19:38:29

标签: jquery ckeditor

我想知道:当引用编辑器对象时,我如何获得该编辑器的实际底层源DOM元素 - 例如。 textarea?

editor.element这样的东西? (不起作用)

感谢。

1 个答案:

答案 0 :(得分:7)

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

  • editor.element - 初始化编辑器的原始元素。如果是框架式编辑器,则可以是textarea,如果是内联编辑器,则为contenteditable属性的可编辑元素或附加了编辑器的容器(使用CKEDITOR.appendTo时)。
  • editor.container - 主要的CKEditor UI容器。
  • editor.editable() - 这是一个返回当前CKEDITOR.editable实例的方法。可编辑继承自element,它是放置编辑器内容的元素,例如如果内联编辑器可编辑等于editor.element(尽管===将不起作用,因为它不是同一个实例)并且如果框架编辑器可编辑,则body元素位于iframe内{1}}。

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

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

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

// Or:

jQuery( editor.element.$ ).hide();