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')

  

原文地址:https://www.cnblogs.com/xiaomingSun/p/6760498.html