CKEditor 5 更改事件并不总是触发

CKEditor 5 change event not always firing

我正在使用 CKeditor v11.1.1 和 CountableJS 进行字数统计。

目前,我这样附加可数:

editor.model.document.on( 'change:data', ( evt, data ) => { //call countableJS wordcount });

这适用于正常的打字和退格,但当我 CTRL+A -> DeleteCTRL+V 粘贴一些文本时失败。该事件不会触发,因此在我再次开始输入之前字数不会更新。

文档明确指出“[change:data] 因影响编辑器数据的更改而被触发”,但情况似乎并非总是如此。我也试过只听 change 但表现类似。

我是不是误会了什么?还有其他活动我可以听吗?

我刚刚检查过它,当我按 Ctrl+Delete 时它对我来说工作正常Ctrl+V。您可以在 https://jsfiddle.net/auxe23b7/1/:

上进行测试
ClassicEditor
    .create( document.querySelector( '#editor' ) )
    .then( editor => {
        console.log( editor );

        editor.model.document.on( 'change:data', ( evt, data ) => {
            console.log( data );
        } );
    } )
    .catch( error => {
        console.error( error );
    } );

事实上,如果不触发此事件,编辑器将无法工作。此事件开始将模型中的更改转换为视图。如果某些更改(删除内容、粘贴一些内容)没有转换,它们将不会出现在视图中。

所以,要么你的代码中有错误,要么......或者我不知道:)