编辑器002-创新互联

10年积累的网站制作、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有千山免费网站建设让你可以放心的选择与我们合作。><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head> <title></title> <linkhref="EditBase.css" rel="stylesheet" type="text/css" /></head><body> <divclass="edit"> <divid="divTool"> </div> <divid="divCon"> </div> </div></body></html><scriptsrc="https://files.cnblogs.com/wzq806341010/jquery-1.7.2.min.js" type="text/javascript"></script><scriptsrc="https://files.cnblogs.com/wzq806341010/rangy-core.js" type="text/javascript"></script><scriptsrc="ToolOne.js" type="text/javascript"></script><scripttype="text/javascript"> window.onload= function () { new ToolOne({ toolId:"divTool", cotentId:"divCon" }); } </script>Default.html
var ToolObj;
var ContentObj;
var RangArr = {}; //定义一个数组变量:用于存储选择范围:rangvar Extend = function (destination, source) {
for (var item in source) {
        destination[item]= source[item];
    }
return destination;
}

var EventUtil = function (element, type, hander) {
if (element.addEventListener) {
        element.addEventListener(type, hander,false);
    }else if (element.attachEvent) {
        element.attachEvent("on" + type, hander);
    }else {
        element["on" + type] = null;
    }
}
var DO = function (id) {
return typeof id == "string" ? document.getElementById(id) : undefined;
}

Object.prototype._addClass= function (_className) {
this.className = this.className + " " + _className;
}

Object.prototype._removeClass= function (_className) {
this.className = this.className.toString().replace(_className, "");
};

//编辑器方法var T = {
    B:function () { T.Excmd("bold"); },
    U:function () { T.Excmd("underline"); },
    I:function () { T.Excmd("Italic"); },
    FS:function () {
var cmdValue = DO("selFontSize").value;
        T.ExcmdFont("FontSize", cmdValue);
    },
    Excmd:function (cmdName) {
        ContentObj.focus();
if (rangy.getSelection().toString() == "") { T.GetRange(); }
        document.execCommand(cmdName);
        T.SetStyle();
    },
    ExcmdFont:function (cmdName, cmdValue) {
        ContentObj.focus();
if (rangy.getSelection().toString() == "") { T.GetRange(); }
        document.execCommand(cmdName,false, cmdValue);
        T.SetStyle();
    },
    InsertHTML:function (_html) {
        ContentObj.focus();
        T.GetRange();
var sel = rangy.getSelection();
if (sel && sel.getRangeAt && sel.rangeCount) {
var range = sel.getRangeAt(0);
var node = range.createContextualFragment(_html);
var lastNode = node.lastChild;
            range.insertNode(node);
            range.setEndAfter(lastNode);
            range.collapse(false); //折叠:true光标到开始,false:光标到结束            sel.removeAllRanges();
            sel.addRange(range);
            sel.collapseToEnd();
        };
    },
    SaveRange:function () {
var sel = rangy.getSelection();
if (sel && sel.getRangeAt && sel.rangeCount) {
            RangArr["r_1"] = sel.getRangeAt(0);
        }
else {
            RangArr["r_1"] = null;
        }
    },
    GetRange:function () {
var sel = rangy.getSelection();
if (sel && sel.getRangeAt && sel.rangeCount) {
var range = RangArr["r_1"];
if (range) {
                sel.removeAllRanges();
                sel.addRange(range);
            }
        }
    },
    SetStyle:function () {
        $(".editTool div").removeClass("curr");
if (document.queryCommandState("Bold")) { $("#bold").addClass("curr"); }
if (document.queryCommandState("Underline")) { $("#underline").addClass("curr"); }
if (document.queryCommandState("Italic")) { $("#italic").addClass("curr"); }
    }
};

var ToolOne = function (options) {
this.SetOptions(options);
    ToolObj= DO(this.options.toolId); //工具条对象    ContentObj = DO(this.options.cotentId);//编辑框对象  this.init();
this.BindToolHTML();
}
ToolOne.prototype= {
    init:function () {
        EventUtil(ContentObj,"click", function () { T.SaveRange(); T.SetStyle(); });
        EventUtil(ContentObj,"keyup", function () { T.SaveRange(); T.SetStyle(); });
        ToolObj._addClass("editTool");
        ContentObj._addClass("bc editContent");
        ContentObj.setAttribute("contenteditable", "true");

    },
    SetOptions:function (_options) {
this.options = {
            toolId:"",
            cotentId:"",
            item: ["bold", "underline", "italic", "inserHTML", "fontsize"]
        };
        Extend(this.options, _options || {});
    },
    BindToolHTML:function () {
var _tooHtml = new Array();
        _tooHtml.push('bold|<a href="javascript:void(0)" onclick="T.B()"><div id="bold" class="fontbold"  title="(Ctrl+B粗体)">B</div></a>');
        _tooHtml.push('underline|<a href="javascript:void(0)" onclick="T.U()"> <div id="underline" class="fontbold"  title="下划线(Ctrl+U)"><u>U</u></div></a>');
        _tooHtml.push('italic|<a href="javascript:void(0)" onclick="T.I()"> <div id="italic" class="fontbold" title="斜体(Ctrl+I)"><i>I</i></div></a>');
        _tooHtml.push('inserhtml|<a href="javascript:void(0)" onclick="T.InsertHTML('插入值')"> <div class="fontbold" title="插入值">+</div></a>');
        _tooHtml.push('fontsize|<div><select id="selFontSize" onchange="T.FS()">'
                           + '<option value="1">1</option>'
                           + '<option value="2">2</option>'
                           + '<option value="3">3</option>'
                           + '<option value="4">4</option>'
                           + '<option value="5">5</option>'
                           + '<option value="6">6</option>'
                           + '<option value="7">7</option>'
                     + '</select></div>'
                    + '<div>');
for (var i = 0; i < this.options.item.length; i++) {
            ToolObj.innerHTML+= this.GetTooName(this.options.item[i], _tooHtml);
        }
    },
    GetTooName:function (funName, _tooHtml) {
for (var i = 0; i < _tooHtml.length; i++) {
var val = _tooHtml[i].split('|')[0];
            funName= funName.toLowerCase();
            val= val.toLowerCase();
if (val == funName) {
return _tooHtml[i].split('|')[1];
            }
        }
return "";
    }
}
ToolOne.js
.bc_blue{ border: solid 1px blue; }
.bc{ border: solid 1px #2C3D5B; }
.fontbold{font-weight:bold;}
.w80{width:80px}
.w100{ width: 100px;  }
.w200{ width: 200px;  }
.w600{ width: 600px;  }
.h300{ height: 100px; }
.edti{border:solid 1px #ccc;width:700px;}
.editContent{ background-color:White;padding:10px;word-wrap:break-word;height: auto; min-height: 200px;padding-top:15px;}
.editTool{width:100%;height:26px;background-color:#D7E4F2;margin:0px;}
.editTool div{ float:left;padding:3px 9px 3px 9px; cursor:pointer;text-decoration:none;color:Black}
.editTool  .curr{background-color:#81AAD1;}
EditBase.css

网站栏目:编辑器002-创新互联
本文链接:https://www.cdcxhl.com/article38/echsp.html

成都网站建设公司_创新互联,为您提供外贸网站建设服务器托管虚拟主机网站策划定制网站网站设计

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

搜索引擎优化