Как слушать основные события в CKEditor? - PullRequest
17 голосов
/ 19 апреля 2011

Я не могу понять, как слушать focus, click, onKeyUp и другие базовые события dom в ckeditor. В сводке событий есть только несколько событий, касающихся жизненного цикла ckeditor. И «textArea» ckeditor - это iframe, и это сам html, поэтому неясно, какой узел dom прослушивать.

Ответы [ 2 ]

27 голосов
/ 21 апреля 2011

Это не имеет большого значения, просто сделайте следующее, работайте для фокуса, размытия, щелчка и т. Д.

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

8 голосов
/ 20 апреля 2011

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, он получает мой голос как лучший вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...