富文本编辑与DOM范围小结

本文介绍如何通过iframe元素与contenteditable属性创建一个简单的富文本编辑区域。利用这两种方式,可以在网页中实现文档的可编辑状态切换,使用户能够自由地编辑包括图片在内的各种元素。

利用iframe和元素的contenteditable属性可以创建简单的富文本编辑区。

①document有一个designMode属性,有两个可能的值 "on","off"(默认)。
on:文档进入可编辑状态,这时候可以随意操纵文档内的元素。
例如拖动图片到处乱放啊,增删文字之类的,很有趣。
off:文档结束可编辑状态,就变成了普通的页面。

现在如果我们在页面中放置一个空iframe,并将其designMode设置为"on",就可以创建一个富文本编辑区。

注意的是智能在页面完全加载后才能设置。


举例如下:

<html>
    <body>
       <iframe name="ff" width="100%" height="100%">
            <html>
                <body>
                </body>
            </html>
        </iframe>
        <button onclick="ffOn()">On</button>
        <button onclick="ffOff()">Off</button>
        <script>
            //打开编辑状态
            function ffOn() {
                frames["ff"].document.designMode = "on";
            }
            
            //关闭编辑状态
            function ffOff() { 
                frames["ff"].document.designMode = "off";
            }
        </script>
    </body>
</html>

②元素的contenteditable属性的使用和效果与前者基本相同,只不过编辑状态的改变是设置的是true/false,直接举例。

<html>
    <head>
        <style type="text/css">
            *{margin:0px;padding:0px;}
            #editor{height:200px;width:200px;margin-left:100px;background:lightgrey;overflow:auto;}
        </style>
    </head>
    <body>
        <div id="editor">
            <div>
                OKKKKKK
            </div>
            <input type="text" />
            <img src="Images/close.png" />
        </div>
        <button onclick="ffOn()">On</button>
        <button onclick="ffOff()">Off</button>
        <script type="text/javascript">
            //打开编辑状态
            function ffOn() {
                document.getElementById("editor").contentEditable = true;
            }
            
            //关闭编辑状态
            function ffOff() { 
                document.getElementById("editor").contentEditable = false;
            }
        </script>
    </body>
</html>

 待续……

 

转载于:https://www.cnblogs.com/TiestoRay/archive/2012/10/30/2745774.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值