我使用cytoscape-cxtmenu.js
在节点上提供命令,但并非所有节点都支持所有命令。 如何才能显示节点支持的命令?
var defaults = {
selector: 'node',
commands: [
// everyone has a name
{content: 'tell name',
select: function(node) {console.log(node.data().name);}},
// not everyone has a spouse
{content: 'tell spouse',
select: function(node) {console.log(node.data().spouse);}},
]};
var cxtmenuApi = cy.cxtmenu(defaults);
答案 0 :(得分:1)
使用多个上下文菜单,每个菜单都有不同的选择器。
var cxtmenuApi1 = cy.cxtmenu({ selector: 'node[foo="bar"]' /* ... */ });
var cxtmenuApi2 = cy.cxtmenu({ selector: 'node[foo="baz"]' /* ... */ });
每个菜单都有自己的一组命令,因此您可以使用相同的命令,但禁用一些命令(disabled: true
),但启用2,等等。
或者,您只能指定适用于每组节点的命令 - 但随后命令的相对位置可能因节点而异。