有没有办法只删除 CKEditor 撤消堆栈中的最后一个快照,或者我可以用另一个快照替换它。我应该自己实现它吗?
示例:
第 1 步
第 2 步——应删除并替换为第 3 步(根据给定情况)
第 3 步——应该成为第 2 步
此功能仅在发生特殊事件时才可用。
最佳答案
如果您的撤消快照是用户操作的结果,请按照以下方式操作:
- 第 1 步。
- 第 2 步。
-
CKEDITOR.instances.editor.fire( 'lockSnapshot' )
- 第 3 步。
-
CKEDITOR.instances.editor.fire( 'unlockSnapshot' )
当然,您必须检测正在发生的情况并在正确的时间触发正确的事件。
如果内容的更改是通过代码完成的,editor#updateSnapshot
事件会更好:
function() {
editor.fire( 'saveSnapshot' );
editor.document.body.append(...);
// Makes new changes following the last undo snapshot a part of it.
editor.fire( 'updateSnapshot' );
..
}
关于plugins - 如何仅丢弃 CKEditor 撤消堆栈的最后一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29407895/