如何找到所选文本的开始和结束索引?我正在使用getSelection(),但问题是我正在从数据库中获取数据,在这些数据上,我希望找到起始和结束索引,而不是从DOM和getSelection()锚偏移量和焦点偏移量考虑DOM来选择索引。那么如何做到这一点呢?
发布于 2020-10-01 13:38:28
就我试图理解你的问题而言,你的网页上有一些文本(不管它来自哪里),你正在使用鼠标选择它的一部分,并试图为所选文本获取唯一的开始和结束索引,以便将来可以接触到所选文本。
function getSelectedTextIndex(){
let selectedText = getSelection().toString();
let paragraph = getSelection().anchorNode.data;
let starting_index = paragraph.indexOf(selectedText);
let end_index = starting_index + selectedText.length;
console.log('Starting index : ', starting_index);
console.log('End index : ', end_index);
}注意:此函数将打印与锚节点内容相关的选定文本的唯一索引
例如,您有一个如下所示的DOM
<div>
<h1>Lorem Ipsum</h1>
<h2>dollar sit amet</h2>
</div>然后选择美元并运行此函数,然后它将打印0,7,因为anchorNode将选择h2作为anchorNode,而不是<h1>中的内容
https://stackoverflow.com/questions/64149018
复制相似问题