javascript - document.elementFromPoint 对于选定的文本返回 null

标签 javascript

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

var text = window.getSelection(); 
start = text.anchorOffset; 
end = text.focusOffset - text.anchorOffset;

我想稍后获取所选文本..为此我正在使用:

document.elementFromPoint(start,end);

但是,它总是返回“null”。

请帮忙:)

最佳答案

elementFromPoint(start,end);需要 xy 页面坐标,您将在字符串中传递索引。

要获取 xy 页面坐标,您可以使用 Calculating xy-position of text selection 。请注意,坐标是针对视口(viewport)的,因此如果您想要距 HTML 文档顶部的距离,则可能必须考虑滚动。

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

宽度:4.328125

要获取包含文本节点的 HTML 元素,您可以使用 Get parent element of a selected text

window.getSelection().anchorNode.parentElement

关于javascript - document.elementFromPoint 对于选定的文本返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35039042/

相关文章:

javascript - 数字后跟单词的正则表达式

javascript - 如何比较下拉菜单/选择菜单中的两个不同值并将其作为一个值应用于条件语句?

javascript - 如何证明高级 PDF(HTML) 中的阿拉伯文本?

javascript - 当值已经存在于使用javascript的数组中时如何显示警告消息

javascript - Facebook Like 按钮不会发布到非 FB 应用程序开发人员的 Feed

javascript - 在 JavaScript 中索引 HTML div 类

javascript - 从 anchor 获取哈希 URL 并加载到 Div 中

javascript - 如何避免在下一个输入字段中显示所选选项?

javascript - formData 对象不适用于 jquery AJAX post?

javascript - ES6 类继承/扩展流类型