上一篇:在ASP应用中如何限制同一表单被多次提交 >>
自己动手,结合javascript和dhtml做一个ubb编辑器(附例子代码)
首先遇到的是界面问题,实际上这个很好解决,只是利用td的onmouseover、onmouseout和onmousedown来实现,具体实现方法件下面的代码。
其次就是实现文本效果的问题,这个可以利用textRange的execCommand方法来实现。
下面我给出一个简单的例子,你可以把它存为一个html文件,直接可以运行,这个例子的功能很简单,就是把编辑框中选定的文字变为粗体或斜体。其他功能你可以参照这个例子自己加上。
对了,先把这两个图片存下来。
file : ubb.html
<HTML>
<HEAD>
<TITLE>ubb演示</TITLE>
</HEAD>
<BODY>
<br><br>
<table width=300 cellspacing=2 cellpadding=2 border=0 bgcolor=lightgrey>
<tr>
<td id=tdBold onclick=doAction("Bold") onmousedown="DoDown(tdBold );" onmouseover = "On_Mouseover(tdBold) ;" onmouseout="On_Mouseout(tdBold);">
<img src=@#bold.gif@# width=16 height=16 >
</td>
<td id=tdItalic onclick=doAction("Italic") onmousedown="DoDown(tdItalic);" onmouseover = "On_Mouseover(tdItalic) ;" onmouseout="On_Mouseout(tdItalic);">
<img src=@#italic.gif@# width=16 height=16 >
</td>
<td width=268> </td>
</tr>
<tr>
<td colspan=3>
<iframe id=Editor name=Editor border=0 scroll=no width=300 height=200>
</iframe>
</td>
</tr>
</table>
</BODY>
</HTML>
<script language=javascript>
//initialize the iframe
Editor.document .designMode = "On" ;
Editor.document .open ;
Editor.document .write (" ") ;
Editor.document .close ;
Editor.focus ();
function On_Mouseover(thisTD)
{
thisTD.style .borderLeft = "1px solid buttonhighlight" ;
thisTD.style .borderRight = "1px solid buttonshadow";
thisTD.style .borderTop = "1px solid buttonhighlight";
thisTD.style .borderBottom = "1px solid buttonshadow";
}
function On_Mouseout(thisTD)
{
thisTD.style .borderLeft = "" ;
thisTD.style .borderRight = "";
thisTD.style .borderTop = "";
thisTD.style .borderBottom = "";
}
function DoDown(thisTD)
{
thisTD.style .borderLeft = "1px solid buttonshadow";
thisTD.style .borderRight = "1px solid buttonhighlight";
thisTD.style .borderTop = "1px solid buttonshadow";
thisTD.style .borderBottom = "1px solid buttonhighlight";
thisTD.style .paddingTop = "2px";
thisTD.style .paddingLeft = "2px";
thisTD.style .paddingBottom = "0px";
thisTD.style .paddingRight = "0px";
}
function doAction(str)
{
var m_objTextRange = Editor.document .selection.createRange();
m_objTextRange.execCommand(str) ;
}
</script>
下一篇:Asp与导航文件 >>
相关文章:
- · asp实现数据记录的备份及恢复-----抛砖引玉
- · 选择最快的镜像站点
- · 用ASP列出服务器上的所有硬盘及类型
- · 在ADO使用SELECT语法六
- · 在asp聊天室里实现房间功能和用户显示
- · ASP编写的一个简单的颜色吸取器
- · 让IIS 5.0的错误信息提示更详细的方法
- · Iasp+Apache+W98简单试用
- · 利用正则表达式把用URLEncode的字符串转换成正常的字符串函数
- · 用ASP判断Email地址是否有效
- · 如何利用ASP实现邮箱访问
- · 在ASP处理程序时,进度显示
- · 一个显示原代码的asp程序
- · 调试 ASP 脚本
- · 在ADO使用SELECT语法五
- · 在ADO使用SELECT语法四
- · Asp降龙十九掌
- · 在ADO使用SELECT语法三
- · ADO使用SELECT语法二
- · 在ADO使用SELECT语法一
- · 如何解决图形和文字的显示问题
- · 数组数据排序的程序例子
- · ADO存取数据库如何与HTML结合
- · 用纯ASP代码实现图片上传并存入数据库中
- · 讨论 SELECT TOP N 问题
- · 在Asp中使用存储过程
- · 不用DNS连接数据库方法的几个参数
- · ASP的几大可扩展组件(二)
- · 用几行Asp代码实现防止表单多次被提交
- · ASP中使用Office2000中的图表控件
- · 关于ASP程序中日期型数据的格式问题探讨
- · 解决在执行数据库查询中的特殊字符的问题
- · asp分页显示详论
- · ASP编写数据库维护程序
- · Session对象在各浏览器中的有效范围
- · ASP访问Exchange Server问题
- · 用FrontPage98 开 发ASP
- · Global.asa 参考(五) - TypeLibrary 声明
