textarea中在光标处插值

废话少说,放码过来
HTML

<textarea id="textarea" style="width: 386px; height: 260px">
</textarea>
<input type="text"  id="text"  />
<input type="button" value="插入" onclick="insertAtCursor(document.getElementById('textarea'),document.getElementById('text').value)" />

JS

 function insertAtCursor(myField, myValue) {
 
     //IE 浏览器
     if (document.selection) {
         myField.focus();
         sel = document.selection.createRange();
         sel.text = myValue;
         sel.select();
     }
 
     //FireFox、Chrome等
     else if (myField.selectionStart || myField.selectionStart == '0') {
         var startPos = myField.selectionStart;
         var endPos = myField.selectionEnd;
 
         // 保存滚动条
         var restoreTop = myField.scrollTop;
         myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
         
         if (restoreTop > 0) {
            myField.scrollTop = restoreTop;
         }
         
         myField.focus();
         myField.selectionStart = startPos + myValue.length;
         myField.selectionEnd = startPos + myValue.length;
     } else {
         myField.value += myValue;
         myField.focus();
     }
 }

推荐阅读更多精彩内容