js在textarea光标处插入表情字符(ie,火狐兼容)

  1. /**  
  2.  * 在光标的位置插入图片  
  3.  * @param {Object} myField  
  4.  * @param {Object} myValue  
  5.  */  
  6. function AddOnPos(myField, myValue)   
  7. {   
  8.     //IE support   
  9.     if (document.selection)   
  10.     {   
  11.     myField.focus();   
  12.     sel = document.selection.createRange();   
  13.     myValue = "[face]"+myValue+"[/face]";   
  14.     sel.text = myValue;   
  15.     sel.select();   
  16.     }   
  17.     //MOZILLA/NETSCAPE support   
  18.     else if (myField.selectionStart || myField.selectionStart == '0')   
  19.     {   
  20.     var startPos = myField.selectionStart;   
  21.     var endPos = myField.selectionEnd;   
  22.     // save scrollTop before insert   
  23.     var restoreTop = myField.scrollTop;   
  24.     myValue = "[face]"+myValue+"[/face]";   
  25.     myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos,myField.value.length);   
  26.     if (restoreTop > 0)   
  27.     {   
  28.     // restore previous scrollTop   
  29.     myField.scrollTop = restoreTop;   
  30.     }   
  31.     myField.focus();   
  32.     myField.selectionStart = startPos + myValue.length;   
  33.     myField.selectionEnd = startPos + myValue.length;   
  34.     } else {   
  35.     myField.value += myValue;   
  36.     myField.focus();   
  37.     }   
  38. }  

posted on 2010-08-01 19:22  pcyear  阅读(1345)  评论(0编辑  收藏  举报

导航