登录

js 获取光标位置,设置选中文字(createTextRange,setSelectionRange)

我来纠错
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属性的,表示当前鼠标的位置。
发送
热门关键词:
命令
知识类型:
标题描述:
详细解答:

提交审核您编辑的知识会经过 前端大牛 人工审核。