• UMEditor 二次开发技术实践


    许多项目都会或多或少的结合许多第三的组件,恰好,遇到了UMeditor富文本组件,因为它及其精简,功能强大,有专业团队维护,所以,我选择了它,而且它出色的完成项目中的全部功能的需求,对此,我说一下,二次开发的技巧总结:

    1.创建一个富文本编辑器UMEditor,“closeIDE”就是要增加的一个按钮

    var ue = UM.getEditor('myEditorList', {
                toolbar: [
                ' source  | undo redo | bold italic underline strikethrough | superscript subscript | forecolor backcolor |removeformat | ',
                ' fontfamily fontsize',
                '| justifyleft justifycenter justifyright justifyjustify |',
                'link unlink ',
                  'formula  ', 'closeIDE'
                ]
            });

    2.在ueditorlangenen.js中添加closeIDE,及其汉语提示

     'closeIDE':'关闭编辑器' 

    3.在 hemesdefaultcssumeditor.css 这个是请求一张PNG图片(包含工具箱所有的图标)

    .edui-btn-toolbar .edui-btn .edui-icon{
         20px;
        height: 20px;
        margin: 0;
        padding:0;
        background-repeat: no-repeat;
        background-image: url(../images/icons.png);
        background-image: url(../images/icons.gif) 9;
    }

    然后给新添的按钮设置图标,我这里还是用的上述图片里的

     .edui-btn-toolbar .edui-btn .edui-icon-closeIDE{ background-position:-360px -40px; } 

    上述步骤完成之后,主要的开始了,就是注册该按钮

    UM.registerUI('closeIDE', function (name) {
        //注册按钮执行时的command命令,使用命令默认就会带有回退操作
        var me = this;
        var options = me.options;
        var $btn = $.eduibutton({
            icon: name,
            click: function () {
                UM.getEditor('myEditorList').setHide();
                $("#" + options.type).val(ue.getContent().replace("<p>", "").replace("</p>", "").replace("<br/>", ""));
            },
            title: this.getLang('labelMap')[name] || '',
        });
    
        this.addListener('selectionchange', function () {
            var state = this.queryCommandState(name);
            $btn.edui().disabled(state == -1).active(state == 1)
        });
        return $btn;
    });

    此处可以很简单理解:click事件:可以用来实现自己的逻辑,这也是我比较关心的,其过程就是初始化一个按钮

    效果图:

    参考资料:http://ueditor.baidu.com/website/document.html

  • 相关阅读:
    Spring AOP日志实现(一)
    ArrayList和LinkedList的区别
    webmagic保存数据
    Java静态代码块、构造代码块执行顺序问题
    为Spring Cloud Ribbon配置请求重试(Camden.SR2+)
    centos关机与重启命令
    解决win环境下访问本机虚拟机中centos7 ftp服务器的问题
    【MongoDB异常】Exception authenticating MongoCredential解决方法
    mongodb解决只能本地连接不能远程连接问题
    Windows Server 2008 R2提示api-ms-win-crt-runtime-l1-1-0.dll 丢失解决方法
  • 原文地址:https://www.cnblogs.com/meiCode/p/5454483.html
Copyright © 2020-2023  润新知