【问题标题】:how to update contextMenu using Jquery contextMenu X2如何使用 Jquery contextMenu X2 更新 contextMenu
【发布时间】:2020-04-22 05:53:08
【问题描述】:

我已经像这样添加了这个 contextMenu:

buildContentMenu = {

   commands : {}, // i'm add items from external function

   makeMenu: function makeMenu(){

     $.contextMenu({ 
        selector: '.fullRegularRow',
        items: this.commands,
        events: {
            show : function(options){
                 var serverId = this.attr("id").replace("server","").replace(/\-+/g, '.');
                 var fanMode = this.attr("fanMode");
                 var powerMode = this.attr("powerMode");
                 menuListManager.addOptionsToMenu(serverId, fanMode, powerMode)
                 console.log(serverId);

            }
        }        
    });

现在我想将项目添加到菜单列表中。

所以我更新了命令对象并尝​​试像这样更新 contectMenu 但对我不起作用:

    $.contextMenu('update');

任何机构可以帮助我如何更新我的菜单?

【问题讨论】:

    标签: jquery contextmenu


    【解决方案1】:

    几个小时后,我找到了答案。

    关键是,如果我想在菜单显示之前构建菜单,我必须使用 build。 现在,在菜单准备好显示之前,我可以通过编辑对象命令(在我的例子中)来重新排列我想要显示的内容。

    这是我的精细代码:

            $.contextMenu({ 
            selector: '.fullRegularRow, .COLservers4, .COLservers2, .quarterOf2U, .fullDoubledRow, .fullQuadrdRow',
                build : function($triggerElement, e){
                    var fanmode = ( $triggerElement[0].attributes["data-fanmode"].value);
                    var powermode = ( $triggerElement[0].attributes["data-powermode"].value);
    
                    if(fanmode == "STANDARD_MODE"){
                        menuListManager.commands["strdFanMode"] = {callback: function(key, opt){ menuList.sendMenuRequest(key, serverURL); }, name: "Fan mode", icon: "fas fa-check"};
                        menuListManager.commands["zutaFanMode"] = {callback: function(key, opt){ menuList.sendMenuRequest(key, serverURL); }, name: "Fan mode"};
                    }else{
                        menuListManager.commands["strdFanMode"] = {callback: function(key, opt){ menuList.sendMenuRequest(key, serverURL); }, name: "Fan mode"};
                        menuListManager.commands["zutaFanMode"] = {callback: function(key, opt){ menuList.sendMenuRequest(key, serverURL); }, name: "Fan mode", icon: "fas fa-check"}; 
                    }
    
                    if(powermode == "STANDARD_MODE"){
                        menuListManager.commands["strdPowerMode"] = {callback: function(key, opt){ menuList.sendMenuRequest(key, serverURL); }, name: "Power mode", icon: "fas fa-check"};
                        menuListManager.commands["zutaPowerMode"] = {callback: function(key, opt){ menuList.sendMenuRequest(key, serverURL); }, name: "Power mode"};
                    }else{
                        menuListManager.commands["strdPowerMode"] = {callback: function(key, opt){ menuList.sendMenuRequest(key, serverURL); }, name: "Power mode"};
                        menuListManager.commands["zutaPowerMode"] = {callback: function(key, opt){ menuList.sendMenuRequest(key, serverURL); }, name: "Power mode", icon: "fas fa-check"}; 
                    }
    
                    return {
                        callback: function(){},
                        items: menuListManager.commands,      
                    };
    
                }
        });
    

    希望对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-10
      • 1970-01-01
      相关资源
      最近更新 更多