JavaScript检测位置中节点的文本偏移量

时间:2012-10-03 09:41:25

标签: javascript position selection offset

我想在指定的x和y坐标下检测元素和文本偏移量。

假设我们有这样的DOM:

<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Nam quis nisl lectus. Donec euismod dignissim turpis, nec 
viverra nulla iaculis nec. _Fusce_ mattis orci eget nibh 
rhoncus auctor at in enim.
</p>

当用户在具有x和y坐标的单词_Fusce_之前单击鼠标时,我想获得文本节点中单词_Fusce_的偏移量作为索引。这可能吗?

1 个答案:

答案 0 :(得分:2)

WebKit为此document.caretRangeFromPoint()。 CSSOM View规范有document.caretPositionFromPoint(),但只有Firefox 20 and later currently implements it

在Firefox中,如果您感兴趣的位置来自鼠标事件,那么您可以直接从事件中获取此信息,该事件具有属性rangeParentrangeOffset

以下是一些与示例代码类似的问题:

https://stackoverflow.com/a/10659990/96100