| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | ///import core///commands       弹出菜单// commandsName  popupmenu///commandsTitle  弹出菜单/** * 弹出菜单 * @function * @name baidu.editor.plugins.popupmenu * @author xuheng */UE.plugins['shortcutmenu'] = function () {    var me = this,        menu,        items = me.options.shortcutMenu || [];    if (!items.length) {        return;    }    me.addListener ('contextmenu mouseup' , function (type , e) {        var me = this,            customEvt = {                type : type ,                target : e.target || e.srcElement ,                screenX : e.screenX ,                screenY : e.screenY ,                clientX : e.clientX ,                clientY : e.clientY            };        setTimeout (function () {            var rng = me.selection.getRange ();            if (rng.collapsed === false || type == "contextmenu") {                if (!menu) {                    menu = new baidu.editor.ui.ShortCutMenu ({                        editor : me ,                        items : items ,                        theme : me.options.theme ,                        className : 'edui-shortcutmenu'                    });                    menu.render ();                    me.fireEvent ("afterrendershortcutmenu" , menu);                }                menu.show (customEvt , !!UE.plugins['contextmenu']);            }        });        if (type == 'contextmenu') {            domUtils.preventDefault (e);            if (browser.ie9below) {                var ieRange;                try {                    ieRange = me.selection.getNative().createRange();                } catch (e) {                    return;                }                if (ieRange.item) {                    var range = new dom.Range (me.document);                    range.selectNode (ieRange.item (0)).select (true , true);                }            }        }    });    me.addListener ('keydown' , function (type) {        if (type == "keydown") {            menu && !menu.isHidden && menu.hide ();        }    });};
 |