Подтвердить что ты не робот

Как прослушивать основные события в CKEditor?

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

4b9b3361

Ответ 1

Это неважно, просто выполните следующие действия: работайте с фокусом, размытием, кликом и т.д.

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

Ответ 2

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