JS实现在文本指定位置插入内容

来源:互联网 发布:免费网络加速器 编辑:程序博客网 时间:2024/05/01 15:19
  1. function insertAtCursor(myField, myValue) {  
  2.   
  3.  //IE 浏览器  
  4.  if (document.selection) {  
  5.      myField.focus();  
  6.      sel = document.selection.createRange();  
  7.      sel.text = myValue;  
  8.      sel.select();  
  9.  }  
  10.   
  11.  //FireFox、Chrome等  
  12.  else if (myField.selectionStart || myField.selectionStart == '0') {  
  13.      var startPos = myField.selectionStart;  
  14.      var endPos = myField.selectionEnd;  
  15.   
  16.      // 保存滚动条  
  17.      var restoreTop = myField.scrollTop;  
  18.      myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);  
  19.        
  20.      if (restoreTop > 0) {  
  21.         myField.scrollTop = restoreTop;  
  22.      }  
  23.        
  24.      myField.focus();  
  25.      myField.selectionStart = startPos + myValue.length;  
  26.      myField.selectionEnd = startPos + myValue.length;  
  27.  } else {  
  28.      myField.value += myValue;  
  29.      myField.focus();  
  30.  }  
  31. }  
  1. <textarea id="textarea" style="width: 386px; height: 260px">  
  2. </textarea>  
  3. <input type="text"  id="text"  />  
  4. <input type="button" value="插入" onclick="insertAtCursor(document.getElementById('textarea'),document.getElementById('text').value)" />