我知道如何确定哪些DOM节点与绝对位置相交。但是说这是一个文本节点。如何确定与该位置对应的文本节点内的偏移量?我想构建一个从已知位置到该位置的DOMRange。
答案 0 :(得分:1)
第一步是找到与该位置相交的所有Elements
。您应该使用Element.getBoundingClientRect
方法执行此操作。然后,您可以轻松获取位于Text
内的所有Element
个节点。困难的部分是找出那些Text
节点内的文本在这些边界内。您可以从Element.getClientRects
开始,以获取Element
内的文本行。这是一个great example。
然后,您需要构建一个Range
对象,并相应地更改startOffset
和endOffset
。您也可以在getClientRects
对象上使用Range
方法。