JS在TextArea光标位置插入文字并实现移动光标到文字末尾

  =IE支持document.selection

  =Firefox,Chrome,Safari以及Opera都有selectionStart和selectionEnd属性

  

复制代码 代码如下:

  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;

  }

  }

  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;

  }

  }

  

复制代码 代码如下:

  <input type="button" onclick="insertText(document.getElementById('text'),' 新文字—YoyiorLee ')" value="插入文字"></input>

  

复制代码 代码如下:

  <input type="button" onclick="moveEnd(document.getElementById('text'))" value="移到末尾"></input>