web-dev-qa-db-ja.com

CKEditorで基本的なイベントを聞く方法は?

Ckeditorでフォーカス、クリック、onKeyUp、その他の基本的なdomイベントを聞く方法がわかりません。 イベントの概要 では、ckeditorのライフサイクルに関するイベントはごくわずかです。また、ckeditorの「textArea」はiframeであり、それ自体がhtmlであるため、どのdomノードをリッスンするかが明確ではありません。

17
lisak

それは大したことではありません、ただ以下をしてください、焦点、ぼかし、クリックなどのために働きます。

var ckeditor = CKEDITOR.instances['textArea_id'];
ckeditor.on('focus', fnHandler, context, data, priority);

またはjQueryの例:

$(document).ready(function () {
    $('#YOUR_TEXTAREA_ID').ckeditor(ckeditor_config);

    CKEDITOR.instances.YOUR_TEXTAREA_ID.on('blur', fnHandler);
});

このサポートがいつ登場したかはわかりませんが、3.5.xでは間違いなく機能します

27
lisak

CKEditorには、実際にはオブジェクトに組み込みのイベント処理があります。説明については、この記事を参照してください: http://alfonsoml.blogspot.com/2009/09/ckeditor-events.html

したがって、CKEditorインスタンスの変更をキャッチするには、次のようにします。

CKEDITOR.on('currentInstance', function(){modified = true;});

また、バージョン3には、より簡単なイベントプロセッサが組み込まれているようです: http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.ui.dialog.file.html#eventProcessors

CKは少し複雑で、ドキュメントには穴がありますが、Wordで生成されたHTMLを適切に処理する能力に基づいて、最良の選択肢として私の投票を得ています。

8
bpeterson76