Событие для измененного содержимого ckeditor

Если возможно, как мы можем изменить содержимое ckeditor? Например, при открытии страницы в содержимое ckeditor уже вставлен текст, известный как textarea. После этого я набираю что-то еще или удаляю часть этого текста. Есть ли какое-то событие, которое я могу получить, чтобы изменить переменную при изменении текста?

у меня есть это для обычных текстовых полей:

$("input,textarea").on("input", function () {
    booleanvar= true;
});

увидел возможное решение где-то, что это:

$('.ckeditor').ckeditorGet().on('key', function (e) {
    //some code
});

попробовал, но не получилось. И да, я знаю, что textarea моего ckeditor имеет" ckeditor " в качестве своего класса, поэтому это не причина для него не работать.

Итак, что-то вроде тех примеров, которые я могу использовать, чтобы добраться до какого-то textchanged события ckeditor?

3 ответов


Да, есть очень удобный change даже это вы можете слушать. Документация здесь:http://docs.ckeditor.com/#!/api / CKEDITOR.редактор-событие-изменение

используйте его, например, так (измените editor1 на экземпляр редактора):

CKEDITOR.instances.editor1.on('change', function() { 
    console.log("TEST");
});

это поможет мне много, для onchange С CKEditor.

<textarea id="ckeditor_textarea " name="ckeditor_textarea ">Add Yore Data</textarea>

<script type="text/javascript">
var editor = CKEDITOR.replace( 'ckeditor_textarea ', {});
// editor is object of your CKEDITOR
editor.on('change',function(){
    console.log("test");
});
</script>

Если у вас много ckeditor (версия 4) на одной странице, вы можете использовать этот код:

CKEDITOR.on('instanceCreated', function(event) {
 var editor = event.editor,
 element = editor.element;
 editor.on('change', function() {
 console.log(element.getId());
 });
 });