ueditor工具栏弹出html,UEditor工具栏上自定义按钮、图标、事件、窗口页面

第一步:找到editor_config.js(或者ueditor.config.js)文件中的toolbars参数,增加一个“camnpr”字符串,对应着添加一个labelMap,用于鼠标移上按钮时的提示。

1

toolbars:[

2

[...,'searchreplace','help','camnpr']

3

],

4

labelMap:{

5

'anchor':'','undo':'','camnpr':'郑州网建'

6

}

第二步:找到ui/editorui.js文件中的btnCmds数组,在其中同样增加一个“camnpr”字符串。【如果找不到editorui.js,请直接在ueditor.all.js文件里搜索var btnCmds = [】

1

var btnCmds = [...,'mergecells','deletetable','camnpr'];

找到此位置,我们可以看到:

1

var iframeUrlMap = {

2

//...

3

'emotion':'~/dialogs/emotion/emotion.html',

4

//...

5

}

在此我们可以添加一个

'camnpr': '~/dialogs/emotion1/camnpr.html'

这个camnpr.html页面时自定义的页面,如果你要点击此按钮弹出这个页面,还需要加入如下代码(先在ueditor.all.js页面找到 editorui["emotion"] = function 在这段代码下边加入):

01

editorui["camnpr"] =function (editor, iframeUrl) {

02

var cmd ="camnpr";

03

var ui =new editorui.MultiMenuPop({

04

title:editor.options.labelMap[cmd] || editor.getLang("labelMap."+ cmd +"") ||'',

05

editor:editor,

06

className:'edui-for-' + cmd,

07

iframeUrl:editor.ui.mapUrl(iframeUrl || (editor.options.iframeUrlMap || {})[cmd] || iframeUrlMap[cmd])

08

});

09

editorui.buttons[cmd] = ui;

10

editor.addListener('selectionchange',function () {

11

ui.setDisabled(editor.queryCommandState(cmd) == -1)

12

});

13

return ui;

14

};

注意:如果你要此功能,就不要添加【第五步】的操作了。效果图如下:

bf3cbd9180a61969f7b9d8bdd4a4f3d5.png

第三步:清空缓存刷新下页面吧!工具栏的对应位置是否出现了一个自己定义的按钮呢?如下图所示:

c7b14bd5a69243d9af5a78fee4e27638.png

由于此时未设置对应按钮的图片样式,所以会显示默认的“B”字符。要想让其显示成自己需要的图标样式,接着按照下面的步骤动手吧。

第四步:找到themes/default/ueditor.css(或者themes/default/css/ueditor.css)文件,增加一条样式定义:

1

.edui-for-camnpr .edui-icon {

2

background-position:-640px -40px;

3

}

此处的样式定义了camnpr图标在UEditor默认的精灵Icon图片(themes/default/images/icons.png)中的位置偏移。如需更改成另外图标,只需添加图标到该图片文件中,然后设置偏移值即可。

b915cdf5ced30ff41daaca54b2fa73f7.png

第五步:到此为止,在UI层面已经完成了一个工具栏图标的显示和各种状态变化的逻辑,但是我们发现点击按钮之后毫无反应。那是必然的,我们还必须为该按钮绑定属于它自己的事件处理方法。

实质上,此时一个默认的事件处理方法已经被UEditor绑定到按钮上了,只不过由于我们还没有定义该方法的具体内容,所以点击之后无任何变化。

下面我们就来定义该方法的具体内容:

找到plugins目录,在该目录中添加一个camnpr.js文件,然后在该文件中输入如下代码:【此句,最新版本1.4.3 请直接在 ueditor.all.js 文件里搜索UE.commands[' 然后在找到的任意一个位置下边添加如下代码】

1

UE.commands['camnpr'] = {

2

execCommand :function(){

3

alert("你好,这是自定义按钮的事件");

4

}

5

};

13d75dae355c63df6ec0871405beb4ee.png

然后将该文件引入UEditor:打开_examples/editor_api.js文件,在paths数组中的适当位置(一般是指默认提供的插件部分地址的最后)增加一条记录:

'plugins/webapp.js',

'plugins/showmsg.js',

'ui/ui.js',

再次刷新页面点击一下按钮吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值