jquery - 如何根据条件动态更改上下文菜单中的名称

标签 jquery contextmenu

我正在使用这个 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/

相关文章:

jquery - 正则表达式/替换问题如何在查询中搜索文本时删除

javascript - 如何从谷歌地理编码解析 json (jquery)?

c++ - 列表框上下文菜单

wpf - 在 wpf mvvm 数据绑定(bind)菜单项中添加额外级别

javascript - 任何基于 JavaScript/jQuery 的 html 数据处理器/美化器?

jquery 和 HTML5 的模板标签

jquery - CSS背景不覆盖透明PNG文件

android - 为上下文菜单创建自定义布局

c# - 如何在 Gtk# 中将上下文菜单添加到树节点?

c# - 使用 ContextMenu 的 RaiseCanExecuteChanged 延迟