使用JavaScript查找选定的文本开始和结束索引
Find selected text start and end index with JavaScript
我有一个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);
相关文章:
- 希望日期开始结束于while循环中的一个房间id的一个数组
- 处理第三方库发送的ajax请求的开始和结束事件
- 从工作日结束到下一个工作日开始的完整日历JS包装时间
- 使用javascript&自定义验证器检查开始日期和结束日期
- 如何在上一个动画结束后开始动画
- 在ExtJS中获取开始/结束日期之间的日期
- 转换mysql的Fullcalendar开始/结束日期
- 给定特定日期(日/月/年)返回一周的开始 + 结束
- 在网页开始/结束时停止弹跳 (OS X)
- 更改高图表输出以显示开始-结束日期
- 如何将光标移动到ContentEditable Span的开始/结束
- Regexp在字符串中多次替换开始/结束符号
- EJS在页面布局的开始/结束处包含脚本
- 如何使轴“智能”和“;flexible"这样轴上的开始/结束点在D3 V4中是合理的
- 为两个形状定义x,y的线(开始/结束)连接器
- 如何在上/下键上阻止光标跳到文本框的开始/结束
- 选择具有id属性的元素,该属性以特定值开始/结束
- jquery文件上传的全局开始/结束事件
- 检测输入何时开始/结束聚焦
- 从开始 - 结束日期和时间 (UTC) 计算出日期范围