在可变的contenteditable div中维护插入位置

时间:2016-04-11 23:11:41

标签: javascript jquery html contenteditable rangy

我有一个contenteditable div,通过来自另一个客户端的contenteditable div的websocket获取它的innerhtml。每当接收并设置客户端的div html时,两个客户端都会失去其选择范围和插入符号位置。我一直在使用rangy设置选择范围,在div中保存用户的选择,但我不能将它们替换为从websocket接收的更新html字符串。例如,
OLD div innerhtml:
H(rangy spans表示所选文本)
收到div innerhtml:
examplefile
理想:
1333/n:2*1333/n 我怎样才能重新插入像这样的rangy span来维持我的选择?除了使用rangy之外还有更简单的方法吗?每次我需要重新插入插入位置和选择时,只修改div的一个连续区域。

我也尝试过rangy的基于字符索引的保存和恢复,但是这个功能坏了。 http://rangy.googlecode.com/svn/trunk/demos/textrange.html 如果从范围中删除字符,则rangy的字符索引方法无法恢复范围。

0 个答案:

没有答案
相关问题