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

Fux*_*uxi 2 jquery ckeditor

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

有点像editor.element?(不起作用)

谢谢.

Rei*_*mar 8

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

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

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

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

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

// Or:

jQuery( editor.element.$ ).hide();
Run Code Online (Sandbox Code Playgroud)