js ,控制光标位置
比如有一个TXT控件,控件内容为ABCDE我现在想实现的是,如何用JS控制,将光标位置设置到"ABCDE"的"E"的后面~麻烦大家了~...
比如有一个TXT控件, 控件内容为ABCDE
我现在想实现的是,如何用JS控制,将光标位置设置到"ABCDE"的"E"的后面~
麻烦大家了~ 展开
我现在想实现的是,如何用JS控制,将光标位置设置到"ABCDE"的"E"的后面~
麻烦大家了~ 展开
3个回答
展开全部
1、获取光标位置
function getCursortPosition (ctrl) {
//获取光标位置函数
var CaretPos = 0; // IE Support
if (document.selection) {
ctrl.focus ();
var Sel = document.selection.createRange ();
Sel.moveStart ('character', -ctrl.value.length);
CaretPos = Sel.text.length; }
// Firefox support
else if (ctrl.selectionStart || ctrl.selectionStart == '0')
CaretPos =ctrl.selectionStart;
return (CaretPos); }
2.设置光标位置
function setCaretPosition(ctrl, pos){
//设置光标位置函数
if(ctrl.setSelectionRange) {
ctrl.focus();
ctrl.setSelectionRange(pos,pos);
} else if (ctrl.createTextRange){
varrange = ctrl.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}
3、将光标移动到输入框
ctrl.focus();
展开全部
<script language="javascript">
function aa(obj){
var a =obj.createTextRange();
a.moveStart('character',3);
a.collapse(true);
a.select();
}
</script>
<input type=text onfocus=aa(this) value=sdklfjsldjf>
当这个框获得焦点的时候~光标就在第3个位置后
function aa(obj){
var a =obj.createTextRange();
a.moveStart('character',3);
a.collapse(true);
a.select();
}
</script>
<input type=text onfocus=aa(this) value=sdklfjsldjf>
当这个框获得焦点的时候~光标就在第3个位置后
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试用DOM Range看行不行
关于具体使用可以到这个帖子里去看看
关于具体使用可以到这个帖子里去看看
参考资料: http://bbs.51js.com/viewthread.php?tid=73829&highlight=%2B%D4%C2%D3%B0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询