javascript中所选内容的位置
Position of selection in javascript
本文关键字:位置 javascript 更新时间:2023-09-26
我正在尝试查找所选文本在div中的位置。我提示用户在div中选择文本的子字符串,然后提交它。我需要起点和终点的索引,但使用下面的策略没有成功。任何帮助都将不胜感激。
这是我的功能,但它不起作用:
if (typeof window.getSelection != 'undefined') {
var sel = window.getSelection();
var range = sel.getRangeAt(0);
var preCaretRange = range.cloneRange();
startOffset = preCaretRange.toString().length;
endOffset = startOffset + range.toString().length;
}
div被称为"myarea"。感谢
你几乎做对了
是startOffset
导致它无法工作
目前是:
var startOffset = preCaretRange.toString().length;
RHS上的值preCaretRange.toString().length
将返回所选字符串的总长度,而不是开始位置。要获得起始位置,您将使用通过范围存储的startOffset
属性。因此:
var startOffset = preCaretRange.startOffset;
关于优化的注意事项:您不需要将range
克隆到preCaretRange.
中。
document.body.addEventListener('mouseup', function () {
if (typeof window.getSelection != 'undefined') {
var sel = window.getSelection();
var range = sel.getRangeAt(0);
var startOffset = range.startOffset;
var endOffset = startOffset + range.toString().length - 1;
console.log("Selection starts at: " + startOffset);
console.log("Selection ends at: " + endOffset);
}
}, false);
下面是一把小提琴,展示了它在实际文本选择中的工作:http://jsfiddle.net/Dp3qp/3/
相关文章:
- Javascript-在视频中跟踪鼠标位置
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 如何在javascript清单中获取地理位置权限
- 使用Google Maps JavaScript API v3和Geocoding API映射多个位置
- javascript背景图像位置循环
- 将位置变量从Javascript传递到PHP函数
- 单击下拉列表时保持滚动位置(javascript)
- 书签窗口位置javascript
- 将HTML元素的位置更改为另一个位置javascript
- 回调地狱,地理位置-JavaScript
- 我的地理位置(javascript)不起作用,我不知道为什么
- 如何使用HTML5地理位置javascript初始化带有地理位置(用户的当前位置)的Google Maps API
- 如何根据角度确定绝对顶部和左侧位置?Javascript
- 数据GUI -菜单的大小和位置(javascript / css)
- 卡号正则表达式和插入符号/光标位置(javascript)
- 计算选定文本的位置javascript/JQuery
- 文档引用器位置javascript远程php服务器
- 输入字段中的回车位置(JavaScript)
- 将地理位置JavaScript值传递给Bean
- 窗口.位置| javascript重定向