Function:光标位置插入文本并且光标移动到最后

时间:2023-03-10 02:57:50
Function:光标位置插入文本并且光标移动到最后
//光标位置插入文本
function insertText(obj, str) {
  if(document.selection) {
    var sel = document.selection.createRange();
    sel.text = str;
  } else if(typeof obj.selectionStart === 'number' && typeof obj.selectionEnd === 'number') {
    var startPos = obj.selectionStart,
    endPos = obj.selectionEnd,
    cursorPos = startPos,
    tmpStr = obj.value;
    obj.value = tmpStr.substring(0, startPos) + str + tmpStr.substring(endPos, tmpStr.length);
    cursorPos += str.length;
    obj.selectionStart = obj.selectionEnd = cursorPos;
  } else {
  obj.value += str;
  }
  moveEnd(obj);
}
//光标移动到最后
function moveEnd(obj) {
  obj.focus();
  var len = obj.value.length;
  if(document.selection) {
    var sel = obj.createTextRange();
    sel.moveStart('character', len);
    sel.collapse();
    sel.select();
  } else if(typeof obj.selectionStart == 'number' && typeof obj.selectionEnd == 'number') {
    obj.selectionStart = obj.selectionEnd = len;
  }
} 用法:insertText(document.getElementByid('textarea'),'12345')