Javascript 如何创建一个html上下文菜单,其中菜单项根据运行时值进行更改?
我无法回答这个问题,因为它被搁置了。但我在下面添加了一个更新 好吧,这可能是一个非常愚蠢的问题——但我的头现在疼得太厉害了! 我正在尝试创建一个上下文菜单,它会根据特定条件进行更改 例如,如果小时数小于8,则显示包含条目的菜单:Javascript 如何创建一个html上下文菜单,其中菜单项根据运行时值进行更改?,javascript,jquery,css,contextmenu,Javascript,Jquery,Css,Contextmenu,我无法回答这个问题,因为它被搁置了。但我在下面添加了一个更新 好吧,这可能是一个非常愚蠢的问题——但我的头现在疼得太厉害了! 我正在尝试创建一个上下文菜单,它会根据特定条件进行更改 例如,如果小时数小于8,则显示包含条目的菜单: 今天打电话 今天参观 电子邮件 如果小时数介于8和4之间,则条目可能为: 现在打电话 立即发送电子邮件 如果小时在4到12之间,则另一组菜单项。 我尝试了一些在网上找到的例子,但现在我似乎越来越困惑了 好吧,我说这是个愚蠢的问题。我看过各种插件,比如Audero
- 今天打电话
- 今天参观
- 电子邮件
- 现在打电话
- 立即发送电子邮件
$(function(){
$.contextMenu({
selector: '.context-menu-one',
build: function($trigger, e) {
// this callback is executed every time the menu is to be shown
// its results are destroyed every time the menu is hidden
// e is the original contextmenu event, containing e.pageX and e.pageY (amongst other data)
return {
callback: function(key, options) {
process(key, options)
},
items: loadme()
};
}
});
});
var count=0;
function process(key, options) {
var m = "clicked: " + key;
window.console && console.log(m) || alert(m);
}
function loadme() {
return {
"edit": {name: "Edit "+ (++count)},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
}
};
基本上,每次打开关联菜单时,菜单中“编辑”链接的计数都会增加
另外,我会使用正确的链接,但由于我的声誉,我只能使用两个 请注意
构建
参数的注释:
// this callback is executed every time the menu is to be shown
然后返回一个包含loadme
函数的对象,该函数每次调用时都会递增count
(这就是++count
的作用)。结果是,每次菜单显示时,loadme
都会运行,count
都会增加。如果您不希望增量发生,您可能希望去掉++
但我认为这只是一个例子,与你真正想做的事情无关。几乎可以肯定的是,您希望让loadme
而不是决定(new Date()).getHours()
属于哪个范围,并在此基础上返回包含相应菜单项的对象