CKEditor 5 保存选定的文本并在恢复内容后将其再次设置为选定

标签 ckeditor ckeditor5

我一直在使用 CKEditor 5:

var mySelection = editor.getSelection();
例如,获取选定的文本并将其保存到数据库中。 我想知道是否有更简单的方法将所选文本保存到数据库,然后在恢复文本后将其设置为在编辑器窗口中自动选择。

一种保存选择并在同一文本中再次设置选择的简单方法。 有没有类似的插件?

问候

最佳答案

  1. 这是获取所选内容的方法。您应该像以前一样获得一个选择,从中获取一个范围 (.getFirstRange()),使用 for ( const item of range.getItems() ) 进行迭代范围内的所有项目,检查某个项目是否是文本节点 (item.is( 'textProxy' )),如果是,则将其数据添加到结果中 (result = result + item.data)。这样您就可以获得所选内容内的文本。

  2. 要恢复内容的一部分,您必须将模型范围保存在数据库中,然后恢复它并对其执行某些操作。没关系,但您需要保证内容在保存范围和内容之间不会发生变化(因此范围不会过时)。

我不确定您要实现什么功能,但看起来您可以使用 Markers

关于CKEditor 5 保存选定的文本并在恢复内容后将其再次设置为选定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51518889/

相关文章:

reactjs - 使用 ReactJS 将插件添加到 CKEditor5 的自定义构建中

JavaScript 鼠标开始位置

jQuery .delegate() 和 .undelegate()

javascript - CKEditor4 : Make Text Differ from its HTML

ckeditor - 上传适配器未定义 ckeditor5-angular 中的图像上传问题

javascript - 如何在CKEditor5中设置选择?

javascript - CKeditor 将类添加到 img 标签

javascript - 多实例化 CKEditor & CKEDITOR.stylesSet.add

php - Laravel CKEditor5 - ClassicEditor 未定义

javascript - 在 ckeditor 5 中设置默认配置字体