【发布时间】:2019-11-05 14:34:50
【问题描述】:
Cytoscape 3.5.0 - 升级到 Cytoscape 3.11.0 - 无变化
复合子节点样式未显示在 addClass 上,但父节点显示
我在 onClick 事件期间成功地向选定的节点元素添加了一个附加类:
cy.on('click', 'node', (evt) => (...
但是,单击时我只看到父项上的样式更改,而不是子项。当我单击子节点时,我发现它已经在 console.log 输出中添加了类,就像它为父节点所做的一样,但是我在图中没有看到子节点的预期样式更改就像我为家长所做的那样。
我已经进行了大量实验并通读了文档和示例,但没有成功,但令人困惑的是,父样式会随着 addClass 而改变,而子样式不会。
我很茫然。感谢您对此提供的任何帮助。
控制台日志:
(2) [“控制器”、“选定节点”]
0:“控制器”
1:“选定节点”
长度:2
原型:数组(0)
点击事件:
cy.on('click', 'node', (evt) => {
cy.elements().removeClass('selectedNode');
let selectedNode = cy.$('#'+evt.target.id());
selectedNode.addClass('selectedNode');
console.log(selectedNode.classes());
});
选择器类:
{
selector: '.controller',
style: {
'background-color': 'lightgrey',
'color': '#737373',
'font-weight': 'bold',
'background-opacity': 0.115,
'content': 'data(label)',
'text-valign': 'bottom',
'text-wrap': 'wrap',
'shape': 'roundrectangle',
'border-width': .001,
'border-color': 'lightgrey',
'font-size': 24,
'height': 46,
'width': 85,
'background-image': '/networkdiagram/controller.svg',
'background-fit': 'cover cover',
}
},
{
selector: '.selectedNode',
style: {
'border-width': 8,
'border-color': '#5da963',
}
}
【问题讨论】:
标签: javascript css cytoscape.js