如图:有2种自定义方法,一种是改源码,一种是初始化

初始化,如下代码:

var ue = UE.getEditor('XXXid',{
//
contextMenu:[
{label:'', cmdName:'selectall'},
{
label:'',
cmdName:'cleardoc',
exec:function () {
this.execCommand( 'cleardoc' );
}
},
{label:'这里添加一个菜单',cmdName:'cleardoc',
icon:'aligntd',
exec:function () {
//this.execCommand( 'cleardoc' );
console.log("添加一个菜单");
}
},
'-',
{
cmdName:'unlink'
},
'-',
{
group:'',
icon:'justifyjustify',
subMenu:[
{
label:'',
cmdName:'justify',
value:'left'
},
{
label:'',
cmdName:'justify',
value:'right'
},
{
label:'',
cmdName:'justify',
value:'center'
},
{
label:'',
cmdName:'justify',
value:'justify'
}
]
},
'-',
{
group:'',
icon:'table',
subMenu:[
{
label:'',
cmdName:'inserttable'
},
{
label:'',
cmdName:'deletetable'
},
'-',
{
label:'',
cmdName:'deleterow'
},
{
label:'',
cmdName:'deletecol'
},
{
label:'',
cmdName:'insertcol'
},
{
label:'',
cmdName:'insertcolnext'
},
{
label:'',
cmdName:'insertrow'
},
{
label:'',
cmdName:'insertrownext'
},
'-',
{
label:'',
cmdName:'insertcaption'
},
{
label:'',
cmdName:'deletecaption'
},
{
label:'',
cmdName:'inserttitle'
},
{
label:'',
cmdName:'deletetitle'
},
{
label:'',
cmdName:'inserttitlecol'
},
{
label:'',
cmdName:'deletetitlecol'
},
'-',
{
cmdName:'mergecells'
},
{
cmdName:'mergeright'
},
{
cmdName:'mergedown'
},
'-',
{
cmdName:'splittorows'
},
{
cmdName:'splittocols'
},
{
cmdName:'splittocells'
},
'-',
{
cmdName:'averagedistributerow'
},
{
cmdName:'averagedistributecol'
},
'-',
{
cmdName:'edittd',
exec:function () {
if ( UE.ui['edittd'] ) {
new UE.ui['edittd']( this );
}
this.getDialog('edittd').open();
}
},
{
cmdName:'edittable',
exec:function () {
if ( UE.ui['edittable'] ) {
new UE.ui['edittable']( this );
}
this.getDialog('edittable').open();
}
},
{
cmdName:'setbordervisible'
}
]
},
{
group:'',
icon:'tablesort',
subMenu:[
{
cmdName:'enablesort'
},
{
cmdName:'disablesort'
},
'-',
{
cmdName:'sorttable',
value:'reversecurrent'
},
{
cmdName:'sorttable',
value:'orderbyasc'
},
{
cmdName:'sorttable',
value:'reversebyasc'
},
{
cmdName:'sorttable',
value:'orderbynum'
},
{
cmdName:'sorttable',
value:'reversebynum'
}
]
},
{
group:'',
icon:'borderBack',
subMenu:[
{
cmdName:"interlacetable",
exec:function(){
this.execCommand("interlacetable");
}
},
{
cmdName:"uninterlacetable",
exec:function(){
this.execCommand("uninterlacetable");
}
},
{
cmdName:"settablebackground",
exec:function(){
this.execCommand("settablebackground",{repeat:true,colorList:["#bbb","#ccc"]});
}
},
{
cmdName:"cleartablebackground",
exec:function(){
this.execCommand("cleartablebackground");
}
},
{
cmdName:"settablebackground",
exec:function(){
this.execCommand("settablebackground",{repeat:true,colorList:["red","blue"]});
}
},
{
cmdName:"settablebackground",
exec:function(){
this.execCommand("settablebackground",{repeat:true,colorList:["#aaa","#bbb","#ccc"]});
}
}
]
},
{
group:'',
icon:'aligntd',
subMenu:[
{
cmdName:'cellalignment',
value:{align:'left',vAlign:'top'}
},
{
cmdName:'cellalignment',
value:{align:'center',vAlign:'top'}
},
{
cmdName:'cellalignment',
value:{align:'right',vAlign:'top'}
},
{
cmdName:'cellalignment',
value:{align:'left',vAlign:'middle'}
},
{
cmdName:'cellalignment',
value:{align:'center',vAlign:'middle'}
},
{
cmdName:'cellalignment',
value:{align:'right',vAlign:'middle'}
},
{
cmdName:'cellalignment',
value:{align:'left',vAlign:'bottom'}
},
{
cmdName:'cellalignment',
value:{align:'center',vAlign:'bottom'}
},
{
cmdName:'cellalignment',
value:{align:'right',vAlign:'bottom'}
}
]
},
{
group:'',
icon:'aligntable',
subMenu:[
{
cmdName:'tablealignment',
className: 'left',
label:'',
value:"left"
},
{
cmdName:'tablealignment',
className: 'center',
label:'',
value:"center"
},
{
cmdName:'tablealignment',
className: 'right',
label:'',
value:"right"
}
]
},
'-',
{
label:'前插入段落',
cmdName:'insertparagraph',
value:true
},
{
label:'后插入段落',
cmdName:'insertparagraph'
},
{
cmdName:'copy'
},
{
cmdName:'paste'
}
]
//
});

以上在初始化时调用,即可覆盖源功能

下面看改源码在哪里:

一、ueditor.config.js 找到:

取消菜单在这    //,enableContextMenu:
*确定是注释掉的,开启就没有菜单了 下面解开:,contextMenu:........... 里面格式参考以下二部分。 二、具体源码在这里:ueditor.all.js找到 UE.plugins['contextmenu'] = function () { 格式参考如下:
{label:lang['selectall'], cmdName:'selectall'},
{
label:lang.cleardoc,
cmdName:'cleardoc',
exec:function () {
if ( confirm( lang.confirmclear ) ) {
this.execCommand( 'cleardoc' );
}
}
},
'-',
{
label:lang.unlink,
cmdName:'unlink'
},

对于二级菜单标签label改不了,可以找到下面代码处,加一个case项:

case "macro":
return "宏";



ueditor 百度编辑器,自定义右键菜单的更多相关文章

  1. ueditor 百度编辑器 自定义图片上传路径和格式化上传文件名

    今天项目中需要自定义图片上传的保存路径,并且不需要按照日期自动创建存储文件夹和文件名,我的ueditor版本是1.3.6.下面记录一下我配置成功的方法,如果有什么不对的地方欢迎指出,共同学习: 1:我 ...

  2. ASP.NET Aries 入门开发教程8:树型列表及自定义右键菜单

    前言: 前面几篇重点都在讲普通列表的相关操作. 本篇主要讲树型列表的操作. 框架在设计时,已经把树型列表和普通列表全面统一了操作,用法几乎是一致的. 下面介绍一些差距化的内容: 1:树型列表绑定: v ...

  3. JavaScript自定义右键菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 自定义右键菜单,禁用浏览器自带的右键菜单[右键菜单实现--Demo]

    许多从事Web开发的会发现有些事,我们需要禁用浏览器本事自带的右键菜单,而实现自定义的右键菜单下面我们也来实现一个自定义的右键菜单 首先来创建JSP页面 <%@ page language=&q ...

  5. JS简单实现自定义右键菜单

    RT,一个简单的例子,仅仅讲述原理 <div id="menu" style="width: 0;height: 0;background: cadetblue;p ...

  6. antd Tree组件中,自定义右键菜单

    最近项目中,有一个需求是自定义antd的Tree组件的右键菜单功能. 直接上代码 class Demo extends Component { state = { rightClickNodeTree ...

  7. 织梦替换ueditor百度编辑器,支持图片水印 教程

    1下载ueditor百度编辑器 2 把下载的zip解压得到ueditor文件夹,把解压到的ueditor文件夹扔进你网站的include文件夹去 3 打开 /include/inc/inc_fun_f ...

  8. AS3.0 自定义右键菜单类

    AS3.0 自定义右键菜单类: /** * 自定义右键菜单类 * 自定义菜单项不得超过15个,每个标题必须至少包含一个可见字符. * 标题字符不能超过100个,并且开头的空白字符会被忽略. * 与任何 ...

  9. js之自定义右键菜单

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. [ActionScript 3.0] 自定义右键菜单

    将自定义右键菜单的一些属性和方法归纳到AddRightMenu.as,通过实例化此类,调用相关方法即可测试! package { import flash.display.Sprite; import ...

随机推荐

  1. Jquery 事件冒泡、元素的默认行为的阻止、获取事件类型、触发事件

    $(function(){// 事件冒泡 $('').bind("click",function(event){ //事件内容 //停止事件冒泡 event.stopPropaga ...

  2. 关于utf8mb4的学习了解笔记

    占位下班写 据说可以存储emoji ..妈蛋今天大神又秀我一脸 大概意思是,我们整个后端数据库,最近都升级了编码格式.从以前久的utf-8整个升级到了utf8mb4的格式 该格式支持emoji表情. ...

  3. 美图美妆由Try Try接手运营

    美图又把一个拖累营收的业务转让出去了. 美图的电商业务——美图美妆应用在向用户发布终止运营的公告后,宣布把业务交给了寺库旗下公司 Try Try 运营.Try Try 接手了美图美妆的所有管理运营权, ...

  4. Linux系统——程序员跳槽必备

    相信在看这篇文章的你,曾经或者现在是否跳槽呢,在北上广一线城市,你是否还在挣着那可怜巴巴的工资,过着拮据生活呢?但是自己想跳槽,却没有一技之长或者是自己的技术找工作太难了,那么我建议你学习下linux ...

  5. BZOJ4723[POI2017]Flappy Bird——模拟

    题目描述 <飞扬的小鸟>是一款风靡的小游戏.在游戏中,小鸟一开始位于(0,0)处,它的目标是飞到横坐标为X的某个位置 上.每一秒,你可以选择点击屏幕,那么小鸟会从(x,y)飞到(x+1,y ...

  6. Java若不为空则取其值的lambda表达式

      原本的写法是: Map<String, Object> map = new HashMap<>(); String text = ""; if(map. ...

  7. Domino 邮箱服务器接收不存在的邮箱账号的邮件

    背景: domino邮箱服务器需要设置多个邮件账号邮件转到同一个邮箱账号. 比如:现在没有了 abc@mail.com 的邮箱账号.但是当用户发邮件给它的时候就发给Support@mail.com 原 ...

  8. yml实例

    producer.yml apiVersion: v1kind: Podmetadata:name: producer-consumerspec:containers:- image: busybox ...

  9. 【codeforces 175D】 Plane of Tanks: Duel

    http://codeforces.com/problemset/problem/175/D (题目链接) 题意 A,B两人玩坦克大战,坦克有生命值,射击间隔,伤害范围,未命中的概率.问A赢的概率是多 ...

  10. VirtualBox中slitaz系统不能联网

    首先,关于VirtualBox虚拟机中安装slitaz操作系统中,先不讲,现在假设电脑中已经装好了VirtualBox,并且已经装好了slitaz操作系统,一个轻量版的linux发行版本. 右上角我画 ...