Quill 'text-changed' 事件在数据加载时触发

Quill 'text-changed' event firing on data load

我希望为我的 Quill 富文本框添加功能,如果用户对富文本框进行更改,那么当他们尝试离开页面时,系统会提示他们保留或放弃更改。我正在按如下方式创建我的文本更改事件:

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

这很好。如果文本发生变化,则会触发事件,我的变量也会发生变化,然后我会从那里处理事情。但是,当富文本框在页面加载时自动填充时,事件触发器也会被触发。我不想要这样。

我看到一个 WPF 示例有类似的(非 Quill)问题,答案是使用 this.IsLoaded 检查。我想知道 quill 是否有类似的东西,或者是否有其他更实用的想法?我考虑过创建隐藏字段来存储每个文本框的原始页面加载值,但这一切开始变得有点混乱。

事实证明这是字段填充方式的问题 - 而不是触发器本身。

填充编辑器的代码是:

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

这触发了事件。我只是将其更改为

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

现在 HTMl 已按预期应用,并且在填充字段时不会触发触发器。