【 tulaoshi.com - Web开发 】
                             
                            以下代码可以做到在光标处插入代码,如果有选择区域,则会使用选择区域生效。  
1、vbcode.js 文件中  
替换函数 vbcode 为下面内容  
代码如下:
function vbcode(theform,vbcode,prompttext) {   
 if (theform.message.createTextRange && theform.message.caretPos) {   
  var caretPos = theform.message.caretPos;   
  if(caretPos.text.length  0)   
   caretPos.text = "["+vbcode+"]" + caretPos.text + "[/"+vbcode+"]";   
  else   
   caretPos.text = "["+vbcode+"]" + "[/"+vbcode+"]";   
 }   
 theform.message.focus();   
}  
替换函数 fontformat 为下面内容  
代码如下:
function fontformat(theform,thevalue,thetype) {   
 if (theform.message.createTextRange && theform.message.caretPos) {   
  var caretPos = theform.message.caretPos;   
  if(caretPos.text.length  0)   
   caretPos.text = "["+thetype+"="+thevalue+"]" + caretPos.text + "[/"+thetype+"]";   
  else   
   caretPos.text = "["+thetype+"="+thevalue+"]" + "[/"+thetype+"]";   
 }   
 theform.sizeselect.selectedIndex = 0;   
 theform.fontselect.selectedIndex = 0;   
 theform.colorselect.selectedIndex = 0;   
 theform.message.focus();   
}  
替换函数 smilie 为下面内容  
代码如下:
function smilie(thesmilie) {   
// inserts smilie text   
 if (document.vbform.message.createTextRange && document.vbform.message.caretPos) {   
  var caretPos = document.vbform.message.caretPos;   
  caretPos.text = thesmilie;   
 }   
 document.vbform.message.focus();   
}  
加入下面代码  
代码如下:
function storeCaret(textEl) {   
 if (textEl.createTextRange)   
  textEl.caretPos = document.selection.createRange().duplicate();   
}  
2、color.js 文件  
查找函数 insertTag 替换成下面内容  
代码如下:
function insertTag(MyString)   
{   
 bbopen=''   
 bbclose='';   
 if (MM_findObj('message').createTextRange && MM_findObj('message').caretPos) {   
  var text = bbopen + bbclose ;   
  var caretPos = MM_findObj('message').caretPos;   
  if(caretPos.text.length  0)   
   caretPos.text = bbopen + caretPos.text + bbclose;   
  else   
   caretPos.text = text;   
 } else {   
  MM_findObj('message').value += bbopen + bbclose;   
 }   
 MM_findObj('message').focus();   
 return;   
}  
3、修改 editpost、newthread 和 newreply 模板  
查找  
$postinfo[message]  
替换成  
$postinfo[message]