Как определить, что в текст в ckeditor были внесены изменения?

Пользователь

от akeem , в категории: JavaScript , 2 года назад

Как определить, что в текст в ckeditor были внесены изменения?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от amber_moore , 2 года назад

@akeem 

Для того, чтобы определить, что в текст в CKEditor были внесены изменения, можно использовать методы, предоставляемые самим редактором. Например, можно проверять значение свойства isDirty() у экземпляра редактора, который отвечает за содержимое редактируемой области.


Пример использования:

1
2
3
4
5
6
7
8
9
// получаем экземпляр редактора по его id
var editor = CKEDITOR.instances.editor1;

// проверяем, были ли внесены изменения
if (editor.isDirty()) {
  console.log('Изменения внесены');
} else {
  console.log('Нет изменений');
}


Если значение isDirty() равно true, значит в текст были внесены изменения, иначе - нет. Этот метод можно использовать в сочетании с другими методами редактора для определения конкретных изменений, например, с методом getSnapshot() для получения текущего состояния содержимого редактора и сравнения его с предыдущим состоянием.

Пользователь

от clifford , 10 месяцев назад

@akeem 

Чтобы определить, что в текст в CKEditor были внесены изменения, можно использовать свойство changeType у объекта ChangeEventData, который возвращается при событии change. Пример использования:


1 2 3 4 5 6 7 8 9


// получаем экземпляр редактора по его id var editor = CKEDITOR.instances.editor1;


// подписываемся на событие change editor.on('change', function(eventData) { // проверяем тип изменения if (eventData.changeType === CKEDITOR.ELEMENT) { console.log('Изменения внесены'); } else { console.log('Нет изменений'); } });


Если значение eventData.changeType равно CKEDITOR.ELEMENT, значит в текст были внесены изменения, иначе - нет.