我正在使用CKEditor 4
以下是这种情况: 我有一个选择,但我需要完成2个动作。 第一个操作是从选择中删除一些span标记。 第二个动作是围绕选择包装span标记。 第二个动作需要通过以下动作完成:editor.applyStyle(style);
这里的问题是第一个操作折叠了选择,因为它已折叠,所以它不适用于第二个操作。
是否有与javascript或Ckeditor相关的解决方案来维持选择?
我已经尝试使用Bookmarks维护它,并通过更改先执行第二个操作。 但是因为第二个动作正在使用跨度,所以它会删除其他跨度标记。 我想让控件说明是否会删除span标记。
答案 0 :(得分:2)
在像您这样的情况下,CKEditor使用书签,但您应该知道它们的种类很少 - 正常(基于节点引用),可序列化(基于跨度)和第三种类型(基于节点地址)。
当DOM更改时,最方便的是可序列化的书签,但是,您的代码"适用于跨度"需要注意它们(它们具有特殊的data-cke-bookmark
属性)并且不应该删除它们(但它可以移动它们。)
如果您正在修改DOM,则没有更好的方法来记住范围。请注意,除非您要删除书签,否则CKEditor的方法不会销毁您的书签。整本书签'祖先。