获取所选文本的范围和坐标

Posted

技术标签:

【中文标题】获取所选文本的范围和坐标【英文标题】:get range and coordinate of selected text 【发布时间】:2011-05-08 08:58:31 【问题描述】:

如何在 FireFox 中选择页面的文本? 例如,有一段文字,用户按常规方式选择该段落中的文字。然后,我想知道用户选择的文字在哪个段落中(在哪个位置-xy坐标,范围位置)。

【问题讨论】:

【参考方案1】:

您询问了选择坐标twicebefore。我知道我给了你working answer,那你为什么还要问?

这里有一些代码将返回包含 Firefox 中选择的最里面的元素(假设是一个选择;Firefox 允许多个选择)。希望对您有所帮助。

function getSelectionContainerElement() 
    var sel = window.getSelection(), el = null;
    if (sel.rangeCount) 
        var range = sel.getRangeAt(0);
        el = range.commonAncestorContainer;
        if (el.nodeType != 1) 
            el = el.parentNode;
        
    
    return el;

【讨论】:

是的,但是我实现起来很困惑,因为主要问题是我想使用该函数来知道所选文本的位置来定位我拥有的数组的索引。 所选文本相对于什么的位置? 与下面的文字相关,例如我有这样的句子收获是从田里收集成熟作物的过程,所选文字是'收集'。然后我想知道以下文本的索引(我的意思是“聚集”之间的文本)【参考方案2】:

参考 getSelection(),获取一个对象,该对象包含有关所选文本及其在父元素中的位置的信息

【讨论】:

你能给我举个例子吗?【参考方案3】:

Selection - MDC 可能会帮助您找到所有问题的答案。

【讨论】:

【参考方案4】:

你可以找到确切的答案here

但是这个模块正在建设中,你可以浏览项目并找到这个模块。

【讨论】:

以上是关于获取所选文本的范围和坐标的主要内容,如果未能解决你的问题,请参考以下文章

如何在文本区域(坐标)角度中获取位置突出显示的文本?

如何通过辅助功能 API 获取当前选定文本的全局屏幕坐标。

CKEditor 5保存所选文本,并在恢复内容后再次将其设置为已选中

获取所选文本的开始和结束索引? [复制]

C#如何获取comboBox所选的文本内容

select2 jQuery插件:获取所选选项的文本值? [复制]