17

私はjavascriptとD3.jsの初心者です

https://gist.github.com/4062045で Force Directed Graph Example を使用しています。

リンクを追加できるように、クリックされた円要素のバインドされたデータへの参照を取得する必要があります。

サークルのクリック ハンドラに次のコード行があります。

d3.select(this).each(function(d){console.log(d)});

オブジェクトをコンソールに出力することはできますが、このオブジェクトへの参照を取得して、次のようなリンク オブジェクトにプッシュする方法がわかりません。

{source: <reference to node should go here>, target: some_other_node}

あなたの助けに感謝します!

4

3 に答える 3

9
circles.on('click', datum => {
  console.log(datum); // the datum for the clicked circle
});

選択ontypenames [、listener [、capture ]])

指定されたイベントが選択されたノードにディスパッチされると、指定されたリスナーが選択された要素ごとに評価され、現在のデータ(d)、現在のインデックス(i)、および現在のグループ(ノード)が渡されます。現在のDOM要素。

于 2013-02-09T08:47:18.450 に答える
7

そこにいる他の初心者の利益のために、これは私がこれを解決した方法です:

//Register the event handler with you selection
myselection.on("click", click);

//Obtain reference to data of currently clicked element by obtaining the first argument of      the event handler function

function click(element){ 
    console.log(element); 
}
于 2013-02-09T09:06:24.143 に答える