Sigma js事件

时间:2016-07-22 20:49:39

标签: javascript sigma.js

在sigma js中,有没有一种方法可以引用在事件期间点击的节点?我有一个由不同颜色的节点组成的图表,我想在点击时更改。我有一个绑定到函数的clickNode事件,但在该函数中,我无法获取对被点击的节点的引用。

有graph.nodes('id')方法,它根据作为参数传递的给定id返回一个节点,当我知道id是什么时,这个工作正常,但是如何获得对节点的引用单击节点以便我可以使用该节点并更改其属性(如颜色,标签等)?以下是我的代码的一部分。

    sigma sigmaInst = new sigma('container');

    function popFieldsClickNode()
    {    
        var n = ****I need n to hold a reference to the clicked node****
        n.color = '#0066ff';    
        n.label = 'selected';

        sigmaInst.refresh();
    }
    sigmaInst.bind('clickNode', popFieldsClickNode); 

如果您知道如何做到这一点,或者如果您有更好的方法,请给我一些指示。感谢。

2 个答案:

答案 0 :(得分:0)

看一下这个例子:https://github.com/jacomyal/sigma.js/blob/master/examples/events.html#L116-L118

您的popFieldsClickNode应该有一个与您应该拥有节点数据的数据事件相对应的参数。

答案 1 :(得分:0)

传递您的函数事件参数,以便您可以获得单击的节点数据。 它看起来像这样。

function popFieldsClickNode(event){    
    var n = event.data;
    console.log(n);//do your stuff here

    sigmaInst.refresh();
}