js 获取光标位置,设置选中文字(createTextRange,setSelectionRange)
分享知识http://www.fedrobots.com/?search=183618我来纠错var aCtrl = document.getElementById("txtContent");
if (aCtrl.setSelectionRange) { //非高级浏览器下的一些操作
aCtrl.setSelectionRange(0, 0); //将光标定位在textarea的开头,需要定位到其他位置的请自行修改
aCtrl.focus();
}else if (aCtrl.createTextRange) { //IE浏览器下的操作
var tempText = aCtrl.createTextRange();
tempText.moveEnd("character",0-tempText.text.length);
tempText.select();
}
在ie下,如果创建了range对象,那么就有
range.moveEnd()
range.moveStart()
range.select();
在其他浏览器下,可以通过obj.setSelectionRange() 来实现选定操作,具体格式如下
o.setSelectionRange(start,end);
o:为文本输入框对象
start:为字符串的起始位置
end:为字符串的末位置
在鼠标的位置处,实现文本的插入操作,在ie下
可以通过document.selection.createRange().text = value;
其中 document.selection.createRange() 表示当前鼠标的位置的TextRange 对象, textRange.text = value表示在当前鼠标处插入值
在其他浏览器下中可以通过 obj.value = str +value +str1 的形式
在非ie下 对于文本框这种输入的obj,是有 selectionStart,selectionEnd属性的,表示当前鼠标的位置。