ueditor 百度編輯器,自定義右鍵菜單

如圖:有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'
                    }
                ]
                //
            });
View Code

以上在初始化時調用,便可覆蓋源功能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 "宏";

相關文章
相關標籤/搜索