Javascript CKEditor:更改所选内容而不丢失它

Javascript CKEditor:更改所选内容而不丢失它,javascript,ckeditor,Javascript,Ckeditor,我在和CKEditor 4合作 情况如下: 我有一个选择,但我需要完成2个动作。 第一个操作是从选择中删除一些跨度标记。 第二个操作是围绕选择内容包装一个span标记。 第二个操作需要通过以下操作完成:editor.applyStyle(style) 这里的问题是,第一个操作折叠了选择,并且因为它已折叠,所以无法用于第二个操作 是否有javascript或Ckeditor相关的解决方案来维护选择 我已经试着用书签来维护它,并先做第二个动作。 但由于第二个操作使用的是跨距,因此会删除其他跨距标记。

我在和CKEditor 4合作

情况如下: 我有一个选择,但我需要完成2个动作。 第一个操作是从选择中删除一些跨度标记。 第二个操作是围绕选择内容包装一个span标记。 第二个操作需要通过以下操作完成:editor.applyStyle(style)

这里的问题是,第一个操作折叠了选择,并且因为它已折叠,所以无法用于第二个操作

是否有javascript或Ckeditor相关的解决方案来维护选择

我已经试着用书签来维护它,并先做第二个动作。 但由于第二个操作使用的是跨距,因此会删除其他跨距标记。
我想控制span标记是否会被删除。

在像您这样的情况下,CKEditor使用书签,但您应该知道它们有几种——普通(基于节点引用)、可序列化(基于span)和第三种类型(基于节点地址)

当DOM更改时,最方便的是可序列化书签,但是,“与跨度一起工作”的代码需要知道它们(它们具有特殊的
data-cke-bookmark
属性),并且不应该删除它们(但它可以移动它们)

如果要修改DOM,没有更好的方法可以记住范围。请注意,除非您删除整个书签的祖先,否则CKEditor的方法不会销毁您的书签