是否有一种非天真的方法来计算DOM偏移的逻辑偏移量?

时间:2018-04-13 16:41:46

标签: javascript dom selection offset

我的父元素中有一些文本highlighted放在<span> s中,现在想知道它的哪一部分被选中了。我检索了Selection对象,但它不包含直接有用的信息。我想获得相对于文本开头的偏移,但它们相对于突出显示<span> s 内的文本节点,并且不与{{1 }}

假设:

有没有一种方法比天真的“探索具有累积计数的树”技术更有效地假装0 s不存在以便测量<span>焦点和锚点点?

1 个答案:

答案 0 :(得分:2)

我不知道它在性能方面是否更有效,你必须衡量它。就代码行而言,Range API应该使事情变得相当容易。构造从父元素的开头到选择的开始的范围,然后计算其中包含的字符。

毕竟,Selection主要是范围的集合。