有思俱乐部学习园地

U.UF.E.formatBrush()格式刷,复制格式,粘贴格式


函数源码

/*
常量 U.UF.E.brushStyle 用来存储复制进来的样式
*/
U.UF.E.brushStyle = {
    "font-family": {},
    "font-size": {},
    "font-weight": {},
    "font-style": {},
    "text-decoration": {},
    "color": {},
    "backgroundColor": {}
};
/*U.UF.E.fromatBrush 复制格式
效果:把选区内的第一个或开始位置的字体样式复制,赋值到常量里
* */
U.UF.E.formatBrush = function () {
    var range = U.UF.E.getRangeAt();
    //获取选区
    var start = range.startContainer;
    //选区开始位置
    if (start.nodeName == "DIV") {
        //如果选区开始节点是div的话,代表添加过样式之类的
        start = range.cloneContents().children[0].firstChild;
        //获取选区内的第一个块状节点,的第一个文档节点
    }
    for (var name in U.UF.E.brushStyle) {
        //循环常量brushstyle 刷子样式
        U.UF.E.brushStyle[name][name] = $(start.parentElement).css(name);
        //把相应的样式名字,内容,赋值给相应的常量值
    }
};
/* U.UF.E.fomatBrushNext() 粘贴复制的样式
效果: 把常量复制到样式,粘贴到编辑器中
* */
U.UF.E.fomatBrushNext = function () {
    U.UF.E.setRangeStyle({ cssText: '' });
    //先清除样式
    for (var name in U.UF.E.brushStyle) {
        //在赋值相应的样式
        U.UF.E.setRangeStyle(U.UF.E.brushStyle[name]);
    }
};

原型图

formatbrush

工作人员

 
                    
作者: 柏洋
信息录入: 柏洋