在光标处插入内容。

function insertAtCursor(myField, myValue) {
  if (document.selection) { //IE
    myField.focus();
    var sel = document.selection.createRange(); //创造range对象
    sel.text = myValue; //由于我们选择的RANGE对象长度就是光标,直接赋插入值即可
  }else if (myField.selectionStart || myField.selectionStart == '0') {
    var startPos = myField.selectionStart; //光标的起点
    var endPos = myField.selectionEnd; //光标的终点

    //重构value,从光标的起始点截取的值  加上 光标处插入的值 加上 光标终点到value终点的截取值 等于新值

    myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
  }
}

原文地址:https://www.cnblogs.com/strangerqt/p/4241168.html