首页 > 代码库 > 输入框中获取当前光标位置&设置光标位置

输入框中获取当前光标位置&设置光标位置

  弹出窗中的输入项获取焦点时,如果输入框中有内容,将光标定位到文字结尾。

  开发的时候没有注意,直接focus了一下,结果被测试追杀了好久...

  获取输入框中光标位置:

function getCursorPos(ctrl){
  var pos = 0;
  if(document.selection){        //IE
    var range = document.selection.createRange();
    range.moveStart(‘character‘,-ctrl.value.length);
    pos = range.text.length;
  }else if(ctrl.selectionStart || ctrl.selectionStart == ‘0‘){//firefox
    pos = ctrl.selectionStart;
  }
  return pos;
}

  设置输入框中的光标位置:

function setCursorPos(ctrl,pos){
  if(ctrl.createTextRange){//IE
    var range = ctrl.createTextRange();
    range.collapse(true);
    range.moveStart(‘character‘,pos);
    range.moveEnd(‘character‘,pos);
    range.select();
  }else if(ctrl.setSelectionRange){//FF
    ctrl.focus();
    ctrl.setSelectionRange(pos,pos);
  } 
}