如何将if语句添加到对象块中
How to add if statements to an object block
这个脚本可以工作,并且是一个构造上下文菜单的示例脚本。但我需要它根据点击的内容来构建不同的内容。如何将if语句应用于列表中的每个项,例如,如果满足条件,则隐藏'edit'项,等等。
$(function(){
$.contextMenu({
selector: '.context-menu-one',
build: function($trigger, e) {
return {
items:
{
"edit":
{
name: "Edit",
icon: "edit",
callback: function(key, options)
{
// some code to perform
}
},
"cut": {name: "Cut", icon: "cut"},
"copy": {name: "Copy", icon: "copy"},
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
}
};
}
});
});
使用IIFE
var foo = {
bar: {
baz: (function() {
// some code here
return "value";
})()
}
};
foo.bar.baz // => "value"
你可以构造item对象然后返回它:
$.contextMenu({
selector: '.context-menu-one',
build: function ($trigger, e) {
var items = {
"cut": {name: "Cut", icon: "cut"},
"copy": {name: "Copy", icon: "copy"},
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
};
if (someCondition) {
items.edit = {
name: "Edit",
icon: "edit",
callback: function(key, options) {
// some code to perform
}
};
}
return {items: items};
}
});
这样,您可以在返回项之前定义一些属性。
相关文章:
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Meteor-将选定窗体中的对象添加到集合中
- 在play2框架中向json对象添加下拉列表项
- 如何在javascript上向数组的对象添加新元素
- JSON到对象数组,并向每个对象添加项
- 如何将一个对象添加到每个对象数组中
- 向Angular作用域对象添加对象数组——TypeError
- CoffeeScript将对象添加到数组中
- 如何从Addon SDK向选项卡对象添加进度侦听器
- 使用ja将对象添加到HTML画布中
- 向通过ReST JSON调用生成的Angular Javascript对象添加方法
- 将新对象添加到本地存储
- 为什么可以'我们在函数体中为函数对象添加属性,就像在javascript中为对象文字添加属性一样
- 使用游标循环将JS对象添加到数组中
- 向调用全局javascript函数的对象添加处理程序
- 将另一个文件中的对象添加到单独文件中的阵列中
- 将对象添加到数组中
- 为新对象添加函数,将对象添加到数组中.理解困难'这'关键字
- sequelize为找到的对象添加值
- 向对象添加新方法和值,同时避免重复