我正在使用这个 jQuery 上下文菜单插件:
http://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html.
我正在尝试通过一个简单的条件动态更改菜单项的名称。不幸的是,不可能动态更改菜单项的名称,或者我不知道如何这样做...
我试过这样:
items: {
"item": {name: (x > 10) ? 'name1' : 'name2', disabled: false},
"sep1": "----------------",
....
}
但它不起作用。 然后我用匿名函数尝试了它:
items: {
"item": {name: function(){ return (x > 10) ? 'name1' : 'name2'; }, disabled: false},
"sep1": "----------------",
....
}
但是效果不太好... 现在我没有其他线索,所以我向你寻求帮助。 你对我有什么有用的建议吗? 如有任何帮助,我们将不胜感激。
提前致谢。
最佳答案
我认为你应该使用构建选项。这使得在运行时构建菜单成为可能,因此它可以在显示菜单之前评估表达式。
http://swisnl.github.io/jQuery-contextMenu/docs.html#build
$.contextMenu({
selector: 'span.context-menu',
build: function($triggerElement, e){
var conditionalName = (x > 10) ? 'name1' : 'name2';
return {
callback: function(){},
items: {
menuItem: {name: conditionalName}
}
};
}
});
关于jquery - 如何根据条件动态更改上下文菜单中的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33079681/