sigma js:如何保持边缘选择onclick

时间:2018-04-17 08:50:24

标签: javascript onclick sigma.js

我正在使用启用了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

非常感谢任何帮助!

1 个答案:

答案 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();        
    });