【发布时间】:2015-03-13 20:30:05
【问题描述】:
我使用内联 CKEditor 来编辑页面上的元素。因此,当我使用某个类单击 DIV 时,CKEditor 会附加到它,当它失去焦点时,编辑器实例会被破坏。在 CKEditor 实例被销毁后,我需要将 HTML 元素插入到该 DIV 中 - 在销毁编辑器实例之前插入光标的最后一个位置。所以我基本上需要知道已编辑元素的 HTML 中光标的索引,因为它将被视为纯文本(对于下面的示例,它将是 25)。我不想修改原始数据。
我的 DIV 中有这样的 HTML:"some <span>text</span> wi|th <b>html</b> tags"(其中“|”是光标位置)
我试图获取范围并将其扩展到可编辑元素的开头:
var range = editor.getSelection().getRanges()[ 0 ];
range.collapse( true );
range.setStartAt( editor.editable(), CKEDITOR.POSITION_AFTER_START );
这里range.endOffset 是3(就像我没有扩展范围一样)。但即使我总结了更多元素的偏移量,它也不能解决我的问题,因为它排除了 HTML 标记。
【问题讨论】:
标签: ckeditor