js ,控制光标位置

比如有一个TXT控件,控件内容为ABCDE我现在想实现的是,如何用JS控制,将光标位置设置到"ABCDE"的"E"的后面~麻烦大家了~... 比如有一个TXT控件, 控件内容为ABCDE

我现在想实现的是,如何用JS控制,将光标位置设置到"ABCDE"的"E"的后面~

麻烦大家了~
展开
 我来答
娱乐这个feel倍爽儿
推荐于2016-03-07 · 人生如戏,戏如人生 娱百家事,乐万千户
娱乐这个feel倍爽儿
采纳数:47982 获赞数:334161

向TA提问 私信TA
展开全部

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();
百度网友1c1bd3deb
2009-01-11 · 超过35用户采纳过TA的回答
知道答主
回答量:114
采纳率:0%
帮助的人:133万
展开全部
<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个位置后
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
就雪存E
2009-01-11 · TA获得超过3280个赞
知道大有可为答主
回答量:9808
采纳率:22%
帮助的人:1084万
展开全部
试试用DOM Range看行不行
关于具体使用可以到这个帖子里去看看

参考资料: http://bbs.51js.com/viewthread.php?tid=73829&highlight=%2B%D4%C2%D3%B0

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式