【发布时间】:2016-05-29 02:24:16
【问题描述】:
我正在尝试在用户键入时用超链接动态替换内容可编辑 div 中的某些关键字。我通过首先将整个字符串用“”拆分,然后抓取最近的单词,如果它是我的关键字之一,我在整个字符串中找到开始索引和结束索引,然后执行以下操作,我可以很好地处理他们键入的第一个单词:
range.setStart(myDiv.firstChild, startOfWordIndex);
range.setEnd(myDiv.firstChild, endOfWordIndex);
range.deleteContents();
range.insertNode(...);
我插入的节点是我创建的超链接,但为简洁起见,这里没有全部输入。
我的问题是,插入该节点后,我无法再在 setStart() 方法中使用 myDiv.firstChild,因为我在用户输入的位置前面有了新节点。
这是我对内容可编辑 html 的第一次破解,所以我不确定如何抓取最后一个节点,也不确定使用我的单词的开始和结束索引无论如何都可以在那里工作,因为这些是基于整个div 内容的长度。
任何帮助将不胜感激。
【问题讨论】:
标签: javascript jquery range selection wysihtml5