2

私は疑問に思っています: エディター オブジェクトを参照している場合、そのエディターの実際の基になるソース DOM 要素を取得するにはどうすればよいですか? テキストエリア?

みたいなeditor.element?(動作しません)

ありがとう。

4

1 に答える 1

8

あなたが興味を持っているかもしれないいくつかの要素があります:

  • editor.element- エディターが初期化された元の要素。これはtextarea、フレーム エディターの場合は属性を持つ編集可能な要素contenteditable、インライン エディターの場合は属性を持つ要素、またはエディターが追加されたコンテナー (を使用する場合CKEDITOR.appendTo) です。
  • editor.container- メインの CKEditor UI コンテナー。
  • editor.editable()CKEDITOR.editable- これは現在のインスタンスを返すメソッドです。Editable は element から継承され、エディターのコンテンツが配置される要素です。たとえば、インライン エディターの場合、 editable はeditor.element(===同じインスタンスではないため機能しませんが) に等しく、フレーム エディターの場合、 editable は内のbody要素iframe

現在、CKEditor には独自の DOM 操作ライブラリがあります (jQuery はそれよりずっと前に作成されたため、jQuery を使用していません)。そして、これらすべてのプロパティとメソッドCKEDITOR.dom.elementは、jQuery とは大きく異なるインスタンスを返します。

ただし、CKEditor の要素をアンラップして jQuery でラップすることはできます。

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

// Or:

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