修改发贴的编辑功能


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 相关文章推荐
AJAX架构之Dojo篇
Apr 10 Javascript
jQuery 隔行换色 支持键盘上下键,按Enter选定值
Aug 02 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
Apr 02 Javascript
javascript实现浏览器窗口传递参数的方法
Sep 03 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
Jul 26 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
Aug 02 Javascript
javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
Aug 19 Javascript
Vue 2.x教程之基础API
Mar 06 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
Mar 23 Javascript
webpack多入口文件页面打包配置详解
Jan 09 Javascript
详解如何快速配置webpack多入口脚手架
Dec 28 Javascript
vant 解决tab切换插件标题样式自定义的问题
Nov 13 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项目的方法
2006/10/09 PHP
计数器详细设计
2006/10/09 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
JS模拟Dialog弹出浮动框效果代码
2015/10/16 Javascript
jquery插件uploadify多图上传功能实现代码
2016/08/12 Javascript
实现隔行换色效果的两种方式【实用】
2016/11/27 Javascript
AngularJS指令与指令之间的交互功能示例
2016/12/14 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
nodejs个人博客开发第四步 数据模型
2017/04/12 NodeJs
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
JS实现的简单表单验证功能示例
2017/10/13 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
2020/02/23 Javascript
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
Python使用sorted排序的方法小结
2017/07/28 Python
Python3使用Matplotlib 绘制精美的数学函数图形
2019/04/11 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
tensorflow-gpu安装的常见问题及解决方案
2020/01/20 Python
Python安装OpenCV的示例代码
2020/03/05 Python
贝斯特韦斯特酒店集团官网:Best Western
2019/01/03 全球购物
Richards网上商店:当代时尚,遍布巴西
2019/11/03 全球购物
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
毕业生学校推荐信范文
2014/05/21 职场文书
新闻人物通讯稿
2014/10/09 职场文书
意向协议书
2015/01/27 职场文书
自信主题班会
2015/08/14 职场文书
2016年国陪研修感言
2015/11/18 职场文书
会计手工模拟做账心得体会
2016/01/22 职场文书
MATLAB 全景图切割及盒图显示的实现步骤
2021/05/14 Python
mysql insert 存在即不插入语法说明
2022/03/25 MySQL
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript