13

追加の詳細とリンクを含むオーバーレイ ボックスを表示できるように、データポイントを onclick イベントにバインドしようとしています。クラスを使用し.nv-pointてデータポイントにアクセスしています。問題は、onclick イベントをそれらのデータポイントに登録できないことです。

コードは次のとおりです。

d3.selectAll(".nv-point").on("click",function(){
    alert("clicked");
    //do something more
});

これがjsFiddleのデモです

4

4 に答える 4

6

いろいろいじった後、これは私にとってはうまくいくようです:

d3.select("#mainGraph svg").selectAll(".nv-point").style("pointer-events", "all").on("click", function( e ) { console.log( JSON.stringify( e ) ); });

基本的に、私が行ったこととあなたが最初に試みたこととの違いは、スタイルシートをオーバーライドしてポインターイベントをオンにすることです。つまり、style("pointer-events", "all").`

于 2014-05-05T12:01:01.687 に答える
4

ライン プロットは、クラス nv-line を持つ svg ラインで作成されます。オリジナルの jsFiddle のフォークはこちら: http://jsfiddle.net/pnavarrc/qzwkn/1/

d3.selectAll(".nv-line").on("click", function () {
    alert("clicked");
});

nvd3 のソース コードを確認したい場合:

于 2013-04-19T11:54:42.470 に答える
2

引数を追加するだけで、データポイントにリンクできます。私の場合、各データ ポイントのハイパーリンクを試みていました。引数には値が渡され、必要に応じてハイパーリンクを更新するために使用できます。

d3.selectAll(".nv-point").on("click", function (e) {    

alert(e[0].values[0]);
});
于 2015-01-14T16:03:49.307 に答える