如何防止 Quilljs 中的印迹发生变化?

How to prevent changes in a blot in Quilljs?

我创建了一个自定义印迹,我想 "lock" 以防止进一步更改其内容。有什么方法可以停止传播文本更改事件吗?

我试过了:

quill.on('text-change', (...args) => { ... })

但 args 只是事件的增量和源,而不是事件本身。

我也试过:

quill.on('text-change', () => { quill.history.undo() })

但是,显然,更改尚未完成并且不起作用。

或者,有没有办法重写一些印迹方法使其成为只读的?

随 Quill 一起提供的 formula module 就是这样做的。你说你已经创建了自己的印迹,所以你可能会像公式印迹一样做:

node.setAttribute('contenteditable', false);