gpt4 book ai didi

javascript - CKEditor:更改选择而不丢失它

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

我正在使用 CKEditor 4

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

这里的问题是第一个操作折叠了所选内容,并且由于它已折叠,因此无法用于第二个操作。

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

我已经尝试使用书签来维护它,并通过更改首先执行第二个操作。但因为第二个操作正在处理跨度,所以它会删除其他跨度标签。我希望能够控制是否删除跨度标签。

最佳答案

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

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

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

关于javascript - CKEditor:更改选择而不丢失它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15620115/

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