使用JavaScript查找选定的文本开始和结束索引

问题描述 投票:1回答:1

我有一个ePub Book XHTML页面,其中包含许多p(paragraph)标签。

现在我通过JS中的以下功能获取有关正文标签的选定文本索引:

var fullString = document.getElementsByTagName("body")[0].textContent;
if (window.getSelection) 
{               
    var range = window.getSelection ();                     
    var startPosition = fullString.search(range);
    var getPosition = range.toString();
    var endPosition = parseInt(getPosition.length) + parseInt(startPosition);
    alert("Start position if : " + startPosition + " and End position : " + endPosition);
    start_position = startPosition;
    end_position = endPosition;                               
}

当选择仅在一个P标签中时,它向我返回正确的索引。

但是当选择覆盖多个p标签时,我的起始位置为“ -1”。

您能帮我摆脱这个问题吗?

javascript html ios xhtml dom-events
1个回答
0
投票

请尝试下面的行,您将开始使用它。

var range = window.getSelection()。getRangeAt(0);

希望这可以解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.