javascript在一段文字中的光标处插入其他文字

  例如:一个文本框里有一段文字,我要通过点击鼠标并且在相应的地方插入文本

  我是这样做的:先获得文本框的值TextArea.Value,然后.TextArea.Value+其他文本

  <script type="text/javascript">

  function setCaret(textObj){

  if(textObj.createTextRange){

  textObj.caretPos=document.selection.createRange().duplicate();

  }

  }

  function insertAtCaret(textObj,textFeildValue){

  if(document.all){

  if(textObj.createTextRange&&textObj.caretPos){

  var caretPos=textObj.caretPos;

  caretPos.text=caretPos.text.charAt(caretPos.text.length-1)==''?textFeildValue+'':textFeildValue;

  }else {

  textObj.value=textFeildValue;

  }

  }else {

  if(textObj.setSelectionRange){

  var rangeStart=textObj.selectionStart;

  var rangeEnd=textObj.selectionEnd;

  var tempStr1=textObj.value.substring(0,rangeStart);

  var tempStr2=textObj.value.substring(rangeEnd);

  textObj.value=tempStr1+textFeildValue+tempStr2;

  }else {

  alert("This version of Mozilla based browser does not support setSelectionRange");

  }

  }

  }

  </script>

  <form id="form1" action="" onsubmit="" method="post" enctype="text/plain">

  <p>

  <textarea name="tarea" rows="" cols="" style="width:300px;height:120px;" onselect="setCaret(this);" onclick="setCaret(this);" onkeyup="setCaret(this);">

  Dnew.cn  Dnew.cn

  </textarea>

  <br/><br/>

  <input type="text" name="textfield" style="width:220px;" value="插入FireFox"/>

  <br/>

  <input type="button" value="插入" onclick="insertAtCaret(this.form.tarea,this.form.textfield.value);"/>

  </p>

  </form>