Javascript document.elementFromPoint为所选文本返回null

Javascript document.elementFromPoint为所选文本返回null,javascript,Javascript,我使用以下代码获取选定文本的位置: var text = window.getSelection(); start = text.anchorOffset; end = text.focusOffset - text.anchorOffset; 我想稍后获取选定的文本。。为此,我使用: document.elementFromPoint(start,end); 但是,它总是返回“null” 请提供帮助:)需要xy页面坐标,您正在传递字符串中的索引 要获取xy页面坐标,可以使用。请注意,坐

我使用以下代码获取选定文本的位置:

var text = window.getSelection(); 
start = text.anchorOffset; 
end = text.focusOffset - text.anchorOffset;
我想稍后获取选定的文本。。为此,我使用:

document.elementFromPoint(start,end);
但是,它总是返回“null”

请提供帮助:)

需要xy页面坐标,您正在传递字符串中的索引

要获取xy页面坐标,可以使用。请注意,坐标是用于视口的,因此,如果需要距HTML文档顶部的距离,可能需要考虑滚动

getSelection().getRangeAt(0).getClientRects()[0];
// ClientRect {}
// bottom: 226
// height: 15
// left: 300.75
// right: 305.078125    
// top: 211
宽度:4.328125

要获取包装文本节点的HTML元素,可以使用


我不明白。。获取所选文本的父元素将如何帮助我获取其位置?您的代码试图从所选文本中查找元素;我告诉过你怎么做的。您的问题没有说明如何获取所选文本的位置。我说的是“获取选定文本的位置”。我将两个位置(开始和结束)传递给这个函数:document.elementFromPoint(开始,结束)。我的问题是“它为什么返回null?”我想通过它的位置获取文本。@可能没有对应于文本节点的元素,这就是调用返回null的原因。我是说,您所能做的最好的事情就是获取包含selection@Mayusu你应该指出你想做什么,从而使你的问题标题更清楚。我已经回答了标题中提出的问题。我只是添加了一些注释,解释如何做你真正想要的事情
window.getSelection().anchorNode.parentElement