我们正在使用jsTree(来自2011年9月2日的修订版236)。
有人知道是否有任何方法可以在与“操作”相关联的函数中访问选择的菜单项名称吗?
我想自动定义菜单项,以便每个菜单项的“操作”功能基于上下文菜单中项目的标识符进行设置。
例如,对于具有三个操作(“A”,“B”或“C”)的上下文菜单。
有人知道是否有任何方法可以在与“操作”相关联的函数中访问选择的菜单项名称吗?
我想自动定义菜单项,以便每个菜单项的“操作”功能基于上下文菜单中项目的标识符进行设置。
例如,对于具有三个操作(“A”,“B”或“C”)的上下文菜单。
...
var items = {};
for(var i=0; i < preconfiguredItemsData.length; i++)
{
var item = preconfiguredItemsData[i];
items[item.name] = {
"label": item.title,
"action": function (liNode) {
control = eval("new " + **SELECTED ITEM IDENTIFIER ?** + "()");
// **new A(), new B() or new C()** depending on the selected
// item on the context menu.
// I have the identifier of the jsTree node but ... how
// can I get the item id ("A", "B" or "C")?
control.execute();
},
"_class": "class",
"separator_before": false,
"separator_after": true,
"icon": false,
"submenu": {}
};
...
} //for
items.create = false;
items.rename = false;
items.remove = false,
items.edit = false;
items.ccp = false;
...
我希望我已经清楚地描述了我的问题。
提前感谢。