2016-07-22 61 views
1

在西格瑪js中,有沒有一種方法可以引用在事件期間點擊的節點?我有一個由不同顏色的節點組成的圖表,我想在點擊後改變它們。我有一個clickNode事件綁定到一個函數,但在該函數中,我無法獲取被點擊的節點的引用。西格瑪js事件

有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); 

如果你知道如何做到這一點,或者如果你有這樣做,請給我一些指點一個更好的方式。謝謝。

回答

0

傳遞你的函數事件參數,這樣你就可以得到點擊的節點數據。 它看起來像這樣。

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

    sigmaInst.refresh(); 
}