<textarea   id=demo>abcdef</textarea>     
  <input   type=button   onclick=addText(demo,"1234")   value=1>     
  <input   type=button   onclick=addText2(demo,"1234")   value=2>     
  <script>     
  function   addText(oTextarea,strText){     
  oTextarea.focus();     
  document.selection.createRange().text+=strText;     
  oTextarea.blur();     
  }     
  function   addText2(oTextarea,strText){     
  clipboardData.setData("text",strText);     
  oTextarea.focus();     
  document.execCommand("paste");     
  }     
  </script>

解决方案 »

  1.   

    感谢chinmo,你的可以实现在光标处查入内容,我想要的其实不是这个,是文本域里面的一个事件得到光标的位置。
      

  2.   

    仅在ie下成功,ff下没调试
    <html> 
    <head> 
    <script language="Javascript"> 
    var Range;//用于保存上次的range对象
    function $(Id){return document.getElementById(Id);}
    function SaveRange(){
      Range=document.selection.createRange();
    }
    function Insert(str){
     var o=$('txt');
     if(Range){
       Range.select();
       Range.text+=str;
       Range=null;
     }
     else o.value+=str;
    }
    </script> 
    </head> 
    <body> 
    <input type="text" onkeyup="SaveRange()" onclick="SaveRange()" id="txt"/><br />
    <input type='button' value="在文本原来位置插入“ShowBo”" onclick="Insert('ShowBo')" />
    </body> 
    </html> 
      

  3.   

    这个可以,不过在ff下不能返回原来的焦点处
    <html> 
    <head> 
    <script language="Javascript"> 
    var Range=null,ffStart=null;
    function $(Id){return document.getElementById(Id);}
    function SaveRange(o){
      if(document.all)Range=document.selection.createRange();
      else ffStart=o.selectionStart;
    }
    function Insert(str){
     var o=$('txt');
     if(Range!=null){
       Range.select();
       Range.text+=str;
       Range=null;
     }
     else if(ffStart!=null){
       o.value=o.value.substr(0,ffStart)+str+o.value.substring(ffStart);
       ffStart=null;
     }
     else o.value+=str;
    }
    </script> 
    </head> 
    <body> 
    <input type="text" onkeyup="SaveRange(this)" onclick="SaveRange(this)" id="txt"/><br />
    <input type='button' value="在文本原来位置插入“ShowBo”" onclick="Insert('ShowBo')" />
    </body> 
    </html> 
      

  4.   

    <html> 
    <head> 
    <script language="Javascript"> 
    var Range=null,ffStart=null;
    function $(Id){return document.getElementById(Id);}
    function SaveRange(o){
      if(document.all)Range=document.selection.createRange();
      else ffStart=o.selectionStart;
    }
    function Insert(str){
     var o=$('txt');
     if(Range!=null){
       Range.select();
       Range.text+=str;
       Range=null;
     }
     else if(ffStart!=null){
       o.value=o.value.substr(0,ffStart)+str+o.value.substring(ffStart);
       ffStart=null;
     }
     else o.value+=str;
    }
    </script> 
    </head> 
    <body> 
    <input type="text" onkeyup="SaveRange(this)" onclick="SaveRange(this)" id="txt"/><br />
    <input type='button' value="在文本原来位置插入“ShowBo”" onclick="Insert('ShowBo')" />
    </body> 
    </html>