Quill 'текст-изменено' событие запускается при загрузке данных - PullRequest
0 голосов
/ 01 июня 2018

Я хочу добавить функциональность в мои поля расширенного текста Quill, где, если пользователь вносит изменения в поле расширенного текста, ему предлагается оставить или отменить изменения, если они пытаются отойти от страницы.Я создаю событие для изменения текста следующим образом:

quill.on('text-change', function (delta, oldDelta, source) {
    quillChanged = true;
});

Что нормально.Если есть изменение в тексте, то событие вызывается, моя переменная изменяется, и я обрабатываю вещи оттуда.Тем не менее, триггер события также запускается при автоматическом заполнении полей расширенного текста при загрузке страницы. Что мне не нужно.

Я видел пример WPF с аналогичной (не Quill) проблемой, иответ там должен был использовать проверку this.IsLoaded.Мне интересно, есть ли здесь что-то похожее на перо или есть еще какие-нибудь более практичные идеи?Я думал о создании скрытых полей для хранения исходных значений загрузки страницы для каждого текстового поля, но это все начинает казаться немного грязным.

1 Ответ

0 голосов
/ 01 июня 2018

Это оказалось проблемой с тем, как заполнялись поля, а не сам триггер.

Код для заполнения редакторов был:

$j('.ql-editor', container)[0].innerHTML = htmlInputString;

Это был запусксобытие.Я просто изменил это значение на

quill.clipboard.dangerouslyPasteHTML(htmlInputString, 'api');

И теперь HTMl применяется, как и ожидалось, и триггер не срабатывает при заполнении поля.

...