0

我正在使用 CKEditor 4

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

这里的问题是第一个动作折叠了选择,因为它被折叠了,所以它不能用于第二个动作。

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

我已经尝试使用书签来维护它,并首先更改执行第二个操作。但是因为第二个动作是使用 span,所以它会删除其他 span 标签。而且我想控制说是否会删除跨度标签。

4

1 回答 1

2

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

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

如果您正在修改 DOM,没有更好的方法来记住范围。请注意,CKEditor 的方法不会破坏您的书签,除非您要删除例如整个书签的祖先。

于 2013-03-25T17:19:16.713 回答