您当前的位置:首页 > 互联网教程

javascript实现可编辑样式的文本

发布时间:2025-05-25 05:53:39    发布人:远客网络

javascript实现可编辑样式的文本

一、javascript实现可编辑样式的文本

你要的是所见即所得HTML编辑器,简单来说需要几个基本步骤:

1,需要一个可以编辑同时又可显效果的编辑框。textarea不行,它只能用来输入纯文本,不能显示颜色、斜体之类的文字样式,就像记事本。

你可以使用iframe来实现,修改iframe的designMode属性使其可以被编辑。

<iframe id="myEditer" width="100%" height="150px"></iframe>

<script>myEditer.document.designMode='on';</script>

这样你就可以在这个iframe区域里写字了。

2,选中要添加样式的文字。通常我们用WORD编辑一段文字的样式时,一般是先打字,再编辑样式。所以你需要一个选中要处理文本的方法。JS的selection.createRange()可以选中文本,返回一个对象,你可以通过访问该对象的text属性得到被选中的文本。

<iframe id="myEditer" width="100%" height="150px"></iframe>

<input type="button" value="加粗" onclick="Bold()">

myEditer.document.designMode='on';

var sel= myEditer.document.selection.createRange();

3,改变被选中文本的样式。selection.createRange()选中文本,返回一个对象,该对象有一个方法execCommand(),可以用来改变被选中文本的样式。

<iframe id="myEditer" width="100%" height="150px"></iframe>

<input type="button" value="加粗" onclick="Bold()">

myEditer.document.designMode='on';

var sel= myEditer.document.selection.createRange();

execCommand("fontname","",字体)

execCommand("fontsize","",字号)

取消操作--IE5.0以后可以无限取消

把上面的每个用法用按钮来实现,你就已经完成了一个简单的可视文本编辑器。

二、火狐无法载入样式文件

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""">

<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.0 Transitional//EN">就可以了

""是标明该页面以及其css js都符合标准XHTML规范.

<div style="top:35">在不声明的时候是对的`

声明后必须写为<div style="top:35px">

至于你的情况感觉你是否是在火狐和IE不同的浏览器上测的呢?

个人建议如果不是需要特别严谨和规范,不用加""

但加""可以养成良好的编码规范,自己选择咯.

三、JS如何添加删除div

document.createElement()是在对象中创建一个对象,要与appendChild()或 insertBefore()方法联合使用。

其中,appendChild()方法在节点的子节点列表末添加新的子节点。insertBefore()方法在节点的子节点列表任意位置插入新的节点。

//如果原来有“divCell”这个图层,先删除这个图层

var newdiv= document.createElement("divCell");

document.body.appendChild(newdiv);

//通过样式指定该div的位置方式,若是想要自己设置div的位置,这句话必须有,把它注释掉你就可以知道效果拉~试试看

newdiv.style.position="absolute";

//通过样式指定x坐标(随机数0~450)

newdiv.style.top= Math.round(Math.random()*450);

//通过样式指定y坐标(随机数0~700)

newdiv.style.left= Math.round(Math.random()*700);

//通过样式指定背景颜色,,若是背景图片例为 newdiv.style.backgroundImage="url(img/3.jpg)"

newdiv.style.backgroundColor="#ffffcc";

newdiv.style.filter="alpha(opacity=50)";

var my= document.getElementById("divCell");

my.parentNode.removeChild(my);



相关内容FAQs: