修改发贴的编辑功能
2018-09-21 18:56
以下代码可以做到在光标处插入代码,如果有选择区域,则会使用选择区域生效。
1、vbcode.js文件中
替换函数vbcode为下面内容
复制代码 代码如下:
functionvbcode(theform,vbcode,prompttext){
sage.createTextRange&&theform.message.caretPos){
varcaretPos=theform.message.caretPos;
if(caretPos.text.length>0)
caretPos.text=[+vbcode+]+caretPos.text+[/+vbcode+];
else
caretPos.text=[+vbcode+]+[/+vbcode+];
}
theform.message.focus();
}
替换函数fontformat为下面内容
复制代码 代码如下:
functionfontformat(theform,thevalue,thetype){
sage.createTextRange&&theform.message.caretPos){
varcaretPos=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;
orselect.selectedIndex=0;
theform.message.focus();
}
替换函数smilie为下面内容
复制代码 代码如下:
functionsmilie(thesmilie){
//insertssmilietext
sage.createTextRange&&document.vbform.message.caretPos){
varcaretPos=document.vbform.message.caretPos;
caretPos.text=thesmilie;
}
document.vbform.message.focus();
}
加入下面代码
复制代码 代码如下:
functionstoreCaret(textEl){
if(textEl.createTextRange)
textEl.caretPos=document.selection.createRange().duplicate();
}
2、color.js文件
查找函数insertTag替换成下面内容
复制代码 代码如下:
functioninsertTag(MyString)
{
bbopen=
bbclose=;
if(MM_findObj(message).createTextRange&&MM_findObj(message).caretPos){
vartext=bbopen+bbclose;
varcaretPos=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]