ueditor 自定义— 按钮、图标、事件、窗口页面

本文档介绍了如何自定义ueditor编辑器的按钮、图标、事件和窗口页面。首先在ueditor.config.js中添加自定义按钮'showmsg'及labelMap,然后在ueditor.all.js中添加btnCmds。接着修改ueditor.css调整按钮图标,最后在dialogs目录下创建showmsg文件夹及相关文件,并编写js和jsp实现弹窗逻辑。同时详细说明了execCommand和queryCommandState的使用方法。

第一步:找到ueditor文件夹下的ueditor.config.js下toolbars参数,新增一个字符串showmsg(根据添加功能自定义命名),同时新增一个labelMap用于鼠标移入显示自定义提示信息

 //工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的从新定义
        , toolbars: [[
            ......,print', 'preview', 'searchreplace', 'help'
            //, 'drafts' 从草稿箱加载
            //新增自定义按钮
            ,'showmsg'
        ]]
        
        //自定义按钮鼠标移入提示
        ,labelMap:{
            'showmsg':'显示提示信息'
        }

 

 

第二步:找到ueditor文件夹下的ueditor.all.js的btnCmds数组,添加字符串'showmsg'
这个时候刷新页面就可以在help按钮后面新增了一个按钮,但是按钮的图标显示的是B(默认的样式)

 

第三步:在显示出来按钮后,我们发现按钮的图标不是我们想要的,然后我们找到ueditor文件夹下的themes文件夹下的default文件夹下的css文件夹下的ueditor.css,在文件的末尾加上如下css:


.edui-for-showmsg .edui-icon{
    background-position:-200px -40px;
}

 

 

这时候再刷新页面就发现图标已经换掉了,这里要解释下就是图标都是使用themes/default/images/icons.png这个图片文件通过偏移量来选择图标的,如果有自定义图标,只需要将制作好的图标加入到icons.png中,然后设置偏移量就可以了。

 

第四步:在ueditor文件夹,dialogs目录下定义一个showmsg的文件夹,然后新建一个showmsg.js,showmsg.jsp(用于弹出的窗口)等文件

 

 

 

showmsg.js 自定义窗体,数据逻辑处理,如下调用:

 

 

第五步:

(1)找到ueditor文件夹下的ueditor.all.js,dedialogBtns对象 ok属性中添加字符串"showmsg"


 

(2)找到ueditor文件夹下的ueditor.all.js,在iframeUrlMap数组中添加自定页页面路径

 

(3)当我们点击按钮时发现没有反应,其实在第二步完成后ueditor已经为我们将这个按钮的点击事件绑定好了,只不过是这个点击方法是空的而已,现在就需要我们自己去重写这个点击方法了UE.commands['showmsg'] = {}。



UE.commands['showmsg'] = {
    execCommand : function(){

        }
    },
    queryCommandState:function(){
         var images = this.document.getElementsByTagName("img" );
         for(var i=0;i<$(images).length;i++){
             if($(images[i]).css("width")!="100px"){
                 return 0;     //如果找到宽度不为100的图片,则返回0,代表当前按钮可以点击
             }
         }
         return -1;           //否则返回-1,告诉编辑器将当前按钮置灰
    }
};

execComman 按钮点击时候要处理的信息,我写的是将所有的图片的border设为2,宽度和高都设置为100

queryCommandState 方法是指当编辑器获取焦点时要处理的事,这里就是遍历所有已上传的图片文件,如果编辑器中存在宽度不为100px的图片,则让当前按钮可点击,否则return -1;表示将按钮置灰不可点击

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KunQian_smile

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值