拿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;
}