我正在使用启用了EdgeHover的最新http://sigmajs.org/库。但是,我希望在点击边缘时更改边缘红色(直到单击另一个边缘):
s.bind('clickEdge', function(e) {
document.getElementById('metadata').innerHTML = e.data.edge;
console.log(e.data.edge.hover_color = 'red');
});
单击时会使边缘颜色变为红色,但仅在悬停时。如何点击另一条边缘之前如何保持红色?
此外,这会使曾经点击的所有边缘在悬停时保持红色,但我只希望当前点击(选中)的边缘为红色。选择另一条边后,我希望将之前选定边的颜色悬停以恢复为默认#000
非常感谢任何帮助!
答案 0 :(得分:2)
您可以保持选定的变量并在点击边缘事件发生时切换
s.bind('clickEdge', function(e) {
// Get Edge
if( !e.data.edge.selected ){
e.data.edge.color = '#F491A4';
e.data.edge.selected = true;
}else{
e.data.edge.color = 'blue';
e.data.edge.selected = false;
}
s.refresh();
});