gpt4 book ai didi

javascript - CKEDITOR 4 如何在使用自定义命令之前制作快照以使用 CTRL+Z 撤消

转载 作者:行者123 更新时间:2023-12-04 18:08:47 25 4
gpt4 key购买 nike

问题如下:

我们有自定义 block 元素,例如引号。

我们希望有可能“CTRL+Z”(撤消)它的创建。

如何在插入其html之前制作ckeditor当前状态的快照,以便之后可以使用CTRL + Z?

最佳答案

要保存快照,只需触发 saveSnapshot 编辑器实例上的事件。您必须在执行应记录为单独快照的操作之前和之后执行此操作。例如:

editor.fire( 'saveSnapshot' );
editor.insertHtml( '...' );
editor.fire( 'saveSnapshot' );

此外,如果您的功能是单个命令,请记住编辑器会在您执行时记录快照。所以 这没有意义 :
editor.fire( 'saveSnapshot' );
editor.execCommand( 'myCmd' );
editor.fire( 'saveSnapshot' );

更新 :如果您想合并一些可以制作自己快照的操作(如执行的命令),那么您可以在执行之前锁定快照并在之后解锁。
editor.fire( 'lockSnapshot' );
editor.execCommand( 'myCmd1' );
editor.execCommand( 'myCmd2' );
editor.fire( 'unlockSnapshot' );

当快照被锁定时,新的快照不会被记录。如果快照堆栈在锁定快照时是最新的,则 unlockSnapshot将更新最后一个快照。但如果不是,那么所有这些更改将在下一个 saveSnapshot 之前记录下来。被解雇。

这有点棘手,需要一些练习和测试才能开始正确使用此机制:)。

关于javascript - CKEDITOR 4 如何在使用自定义命令之前制作快照以使用 CTRL+Z 撤消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19878442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com