JS在文本域光标位置插入文本

  1. 插入前:

     

     

     

    插入后:

  2.  
  3.  
  4. function insertAtCursor(myField, myValue) {  
  5.   
  6.  //IE 浏览器  
  7.  if (document.selection) {  
  8.      myField.focus();  
  9.      sel = document.selection.createRange();  
  10.      sel.text = myValue;  
  11.      sel.select();  
  12.  }  
  13.   
  14.  //FireFox、Chrome等  
  15.  else if (myField.selectionStart || myField.selectionStart == '0') {  
  16.      var startPos = myField.selectionStart;  
  17.      var endPos = myField.selectionEnd;  
  18.   
  19.      // 保存滚动条  
  20.      var restoreTop = myField.scrollTop;  
  21.      myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);  
  22.        
  23.      if (restoreTop > 0) {  
  24.         myField.scrollTop = restoreTop;  
  25.      }  
  26.        
  27.      myField.focus();  
  28.      myField.selectionStart = startPos + myValue.length;  
  29.      myField.selectionEnd = startPos + myValue.length;  
  30.  } else {  
  31.      myField.value += myValue;  
  32.      myField.focus();  
  33.  }  
  34. }  

相应的HTML:

 

[html] view plain copy

  1.   
  2.   
  3.   
  4.   

原文是菜鸟JS上的,找了很久,很实用的一个小功能

 

 

来自: 风之殇z5ogyvwv > 《程序》

你可能感兴趣的:(JS在文本域光标位置插入文本)