js光标选区操作

本文介绍了在JavaScript中如何操作input或textarea的光标选区,包括在特定位置插入文本、选中文本进行操作。在非IE浏览器中,通过selectionStart、selectionEnd获取选区信息,使用setSelectionRange重置光标位置。而在IE中,使用createTextRange创建选区,通过moveStart、moveEnd调整选区,使用collapse方法折叠选区。
摘要由CSDN通过智能技术生成

拿input框来举例子:平时我们操作input或者textArea需要用到该技术情况下一般有两处:

一:点击一个按钮在input框中特定位置插入一段文本;

二:选中一段文本进行操作

实现两个效果时候ie以及非ie实现方式不同。具体看看各自是如何实现的:

非ie下实现第一个效果一般都会用到三个步骤

1、获取选区起始坐标偏移量:

非ie下可以应用ele.selectionStart以及ele.selectionEnd来获取选区起始点,结果会返回一个整数。如果起始点值相等,说明未选择任何内容,不过此时的鼠标位置却是这个值,也就是ele文本中的偏移量。

得到偏移量我们就可以用substring或者slice获取选区内容了。

代码如下:

var el=document.getElementById('myInput');

var rangeData = {start: 0, end: 0, text: "" };

function _select(el){

rangeData.start= el.selectionStart;

rangeData.end = el.selectionEnd;

rangeData.text = (rangeData.start != rangeData.end) ? el.value.substring(rangeData.start, rangeData.end): "";

return rangeData;

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值