在TinyMCE中将多个撤消级别分组到批处理中

时间:2013-04-24 14:40:26

标签: tinymce

我正在为TinyMCE编写一个自定义插件。其中一个新按钮在文档中进行了大量的DOM操作。默认撤消行为会在更改过程中创建一些撤消级别。如果用户在使用插件后点击撤消按钮,则他/她会看到一个文档,其操作部分颠倒,并且实际上处于正常状态。

看起来曾经有一对名为mceBeginUndoLevel / mceEndUnoLevel的实例命令(在版本3.3中删除),它允许开发人员开始/结束一个大的撤消批处理,该批处理将在单个操作中撤消....但是在替换该功能的文档中看不到任何内容。

一些论坛帖子建议使用editor.undoManager.add()作为替代,并且适用于您在操作期间需要更多级别撤消的情况,但实际上我想要更少。

还有一个可以挂钩的undoManager.onBeforeAdd事件,但是查看undoManager的源代码,我不认为挂钩会让你中止撤消快照。

那么,有没有一种正确的批量撤销操作方法,我没有看到使用现有的API?如果没有,我唯一的其他选择似乎是修补undoManager以允许onBeforeAdd挂钩中止快照。

1 个答案:

答案 0 :(得分:1)

我建议覆盖当前的UndoManager。它只是一个相当小的文件。 这就是我们需要做的,以便抑制一些不必要的不​​正确的步骤。