您的位置:首页 > Web前端 > JavaScript

[转]JS 获取、设置 输入框光标位置

2012-07-09 16:14 183 查看
在项目开发中经常遇到input等设置光标位置到最后的问题,今天我查了一下Google,找到了在IEFirefoxOpera等主流浏览器的获取光标位置(getCursortPosition)以及设置光标位置(setCursorPosition)的函数。



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




PS:参数ctrl为input或者textarea对象



function setCaretPosition(ctrl, pos){//设置光标位置函数
if(ctrl.setSelectionRange)
{
ctrl.focus();
ctrl.setSelectionRange(pos,pos);
}
else if (ctrl.createTextRange) {
var range = ctrl.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}



PS:参数ctrl为input或者textarea对象,pos为光标要移动到的位置。
深入阅读推荐:《javascript设置光标位置到结尾并显示出来

声明:文章未声明为原创文章,本文链接 http://js8.in/466.html. 转载请注明转自 JS8.IN ™
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: