ueditor 百度编辑器,自定义右键菜单

如图:有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 百度编辑器,自定义右键菜单的更多相关文章
- ueditor 百度编辑器 自定义图片上传路径和格式化上传文件名
今天项目中需要自定义图片上传的保存路径,并且不需要按照日期自动创建存储文件夹和文件名,我的ueditor版本是1.3.6.下面记录一下我配置成功的方法,如果有什么不对的地方欢迎指出,共同学习: 1:我 ...
- ASP.NET Aries 入门开发教程8:树型列表及自定义右键菜单
前言: 前面几篇重点都在讲普通列表的相关操作. 本篇主要讲树型列表的操作. 框架在设计时,已经把树型列表和普通列表全面统一了操作,用法几乎是一致的. 下面介绍一些差距化的内容: 1:树型列表绑定: v ...
- JavaScript自定义右键菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 自定义右键菜单,禁用浏览器自带的右键菜单[右键菜单实现--Demo]
许多从事Web开发的会发现有些事,我们需要禁用浏览器本事自带的右键菜单,而实现自定义的右键菜单下面我们也来实现一个自定义的右键菜单 首先来创建JSP页面 <%@ page language=&q ...
- JS简单实现自定义右键菜单
RT,一个简单的例子,仅仅讲述原理 <div id="menu" style="width: 0;height: 0;background: cadetblue;p ...
- antd Tree组件中,自定义右键菜单
最近项目中,有一个需求是自定义antd的Tree组件的右键菜单功能. 直接上代码 class Demo extends Component { state = { rightClickNodeTree ...
- 织梦替换ueditor百度编辑器,支持图片水印 教程
1下载ueditor百度编辑器 2 把下载的zip解压得到ueditor文件夹,把解压到的ueditor文件夹扔进你网站的include文件夹去 3 打开 /include/inc/inc_fun_f ...
- AS3.0 自定义右键菜单类
AS3.0 自定义右键菜单类: /** * 自定义右键菜单类 * 自定义菜单项不得超过15个,每个标题必须至少包含一个可见字符. * 标题字符不能超过100个,并且开头的空白字符会被忽略. * 与任何 ...
- js之自定义右键菜单
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- [ActionScript 3.0] 自定义右键菜单
将自定义右键菜单的一些属性和方法归纳到AddRightMenu.as,通过实例化此类,调用相关方法即可测试! package { import flash.display.Sprite; import ...
随机推荐
- 关于Laravel中使用response()方法调用json()返回数据unicode编码转换的问题解决
在网上找了好久没有找到,之后一步一步测试,发现了Laravel还是很强大的,解决方案如下: public function response(){ // 返回json数据 $data = [ 'err ...
- centos7 修改网络配置问题
ip adr 查看ip 查看报错详细信息 journalctl -xe 查看网络故障命令 cat /var/log/messages |grep network 报错现象 Error: Connect ...
- Quartz.NET 前一次任务未执行完成时不触发下次的解决方法
如图所示,在Job 上 加 [DisallowConcurrentExecution] 特性
- 一名网工对Linux运维的一次经历
我是一名名副其实的网络工程师,驻场于某市数字化城乡管理指挥中心(简称数字城管),主要针对中大型网络系统,路由.交换机.存储.小型机等设备进行维护,主要工作职责主要分为两种: 对网络系统中的网络设备(路 ...
- (转)二分图匹配匈牙利算法与KM算法
匈牙利算法转自于: https://blog.csdn.net/dark_scope/article/details/8880547 匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名 ...
- MT【207】|ax^2+bx+c|中判别式$\Delta$的含义
已知$a,b\in R^+,a+b=2$且对任意的$x\in R$,均有$|2x^2+ax-b|\ge|x^2+cx+d|$则$\dfrac{d-4c}{cd}$的最小值______ 提示:注意到$\ ...
- LOJ #6432. 「PKUSC2018」真实排名(组合数)
题面 LOJ #6432. 「PKUSC2018」真实排名 注意排名的定义 , 分数不小于他的选手数量 !!! 题解 有点坑的细节题 ... 思路很简单 , 把每个数分两种情况讨论一下了 . 假设它为 ...
- A1096. Consecutive Factors
Among all the factors of a positive integer N, there may exist several consecutive numbers. For exam ...
- Python(四)——PyCharm的安装和使用
python开发IDE: #专业版 #不要汉化 快捷键:Ctrl + ? = 整体注释
- 动态分配内存 new
a=]; ;i<=n;i++) a[i]=]; 感觉比malloc好用. 动态初始化后,值并非全为0,注意!