欢迎光临
我们一直在努力

自己动手,结合javascript和dhtml做一个ubb编辑器(附例子代码)

建站超值云服务器,限时71元/月

看到chinaasp论坛的abc code editor了吗?是不是觉得很cool? 说真的,刚见到我还以为是用别的什么语言做的控件呢,后来才发现没有那么神秘的。前几天做一个商品bbs,客户要求支持ubb,同时也要做一个编辑器。现在我把做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>&nbsp;</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 ("&nbsp;") ;

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>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 自己动手,结合javascript和dhtml做一个ubb编辑器(附例子代码)
分享到: 更多 (0)

相关推荐

  • 暂无文章