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. <textarea id="textarea" style="width: 386px; height: 260px">  
  2. </textarea>  
  3. <input type="text"  id="text"  />  
  4. <input type="button" value="插入" οnclick="insertAtCursor(document.getElementById('textarea'),document.getElementById('text').value)" />  

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

 

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值