Через несколько часов я нашел ответ.
Дело в том, что если я хочу построить Меню до того, как оно будет показано, я могу использовать build . Теперь, прежде чем меню будет готово к показу, я могу изменить то, что я хочу показать, отредактировав Команды объектов (в моем случае).
это мой код Finel:
$.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,
};
}
});
надеюсь, это кому-нибудь поможет.