如圖:有2種自定義方法,一種是改源碼,一種是初始化ide
初始化,以下代碼:ui
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' } ] // });
以上在初始化時調用,便可覆蓋源功能this
下面看改源碼在哪裏: spa
1、ueditor.config.js 找到:code
取消菜單在這 //,enableContextMenu:
*肯定是註釋掉的,開啓就沒有菜單了
下面解開:,contextMenu:...........
裏面格式參考如下二部分。
2、具體源碼在這裏: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項:blog
case "macro":
return "宏";