PS:参数ctrl为input或者textarea对象,pos为光标要移动到的位置
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);
}
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();
}
}
本文详细介绍了如何使用JavaScript编写两个函数,用于获取输入框或文本区域的光标位置,并实现光标位置的设置。适用于前端开发中对文本编辑功能的深入理解。
4504

被折叠的 条评论
为什么被折叠?



