我有一个 ePub Book XHTML 页面,里面有很多 p(段落)标签。
现在我通过 JS 中的以下函数获取关于 body 标签的选定文本索引:
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”。
你能帮我摆脱这一切吗?
最佳答案
请尝试下面的行,你会得到它的工作。
var range = window.getSelection().getRangeAt(0);
希望这能解决您的问题。
关于javascript - 使用 JavaScript 查找选定文本的开始和结束索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8641606/