修改发贴的编辑功能


Posted in Javascript onMarch 07, 2007

以下代码可以做到在光标处插入代码,如果有选择区域,则会使用选择区域生效。 

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] 
Javascript 相关文章推荐
js 全兼容可高亮二级缓冲折叠菜单
Jun 04 Javascript
JQuery Study Notes 学习笔记(一)
Aug 04 Javascript
纯JS实现动态时间显示代码
Feb 08 Javascript
BootStrap的alert提示框的关闭后再显示怎么解决
May 17 Javascript
Javascript json object 与string 相互转换的简单实现
Sep 27 Javascript
JS如何设置iOS中微信浏览器的title
Nov 22 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
Apr 09 Javascript
微信小程序实现自上而下字幕滚动
Jul 14 Javascript
layui按条件隐藏表格列的实例
Sep 19 Javascript
js实现随机点名程序
Sep 17 Javascript
如何基于javascript实现贪吃蛇游戏
Feb 09 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
Oct 30 Javascript
Javascript之文件操作
Mar 07 #Javascript
得到文本框选中的文字,动态插入文字的js代码
Mar 07 #Javascript
在textarea文本域中显示HTML代码的方法
Mar 06 #Javascript
一个高效的JavaScript压缩工具下载集合
Mar 06 #Javascript
禁止F5等快捷键的JS代码
Mar 06 #Javascript
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
Mar 06 #Javascript
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
Mar 06 #Javascript
You might like
php smarty模板引擎的6个小技巧
2014/04/24 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
ASP.NET jQuery 实例16 通过控件CustomValidator验证RadioButtonList
2012/02/03 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
微信js-sdk上传与下载图片接口用法示例
2016/10/12 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
2016/12/05 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
2018/01/07 Javascript
vue代理和跨域问题的解决
2018/07/18 Javascript
JavaScript创建对象方法实例小结
2018/09/03 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
jQuery实现可编辑的表格
2019/12/11 jQuery
不刷新网页就能链接新的js文件方法总结
2020/03/01 Javascript
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
php使用递归与迭代实现快速排序示例
2014/01/23 Python
介绍Python的Django框架中的静态资源管理器django-pipeline
2015/04/25 Python
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
对python修改xml文件的节点值方法详解
2018/12/24 Python
python粘包问题及socket套接字编程详解
2019/06/29 Python
django框架F&Q 聚合与分组操作示例
2019/12/12 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
python Timer 类使用介绍
2020/12/28 Python
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
火山动力Java笔试题
2014/06/26 面试题
银行反洗钱宣传活动总结
2015/05/08 职场文书
学生会部长竞选稿
2015/11/19 职场文书
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技
instantclient客户端 连接oracle数据库
2022/04/26 Oracle