gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-27 23:24:51 26 4
gpt4 key购买 nike

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

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com