1

我是 JavaScript 新手,正在尝试编写一个简单的荧光笔工具。每个功能都可以自己正常工作,但是在组合时,出现次数不再正常工作。这是我的代码http://jsfiddle.net/mrBXu/,问题是当您第一次选择任何“The”时,情况正常,但是如果您重新选择它,它就不再正确了。提前感谢您的帮助!

4

1 回答 1

0

不幸的是,你想要做的并不是那么容易。它在第二次尝试时不起作用的原因是因为您插入了一个跨度来做一个突出显示。第一次选择文本时,您的 startContainer 是一个位于“p”标签内的 textNode。第二次选择时,您的 startContainer 是一个 textNode,它从您插入的 span 的末尾开始。您需要做的将需要更多代码。不仅要检查startContainer,还要找到它与“p”标签的关系,并检查“p”标签内startContainer之前的所有节点。

这是一个工作示例:http: //jsfiddle.net/mrBXu/4/

于 2012-08-08T02:29:05.437 回答