我试图将数据点与onclick事件绑定,这样我就可以有一些额外的细节和链接显示叠加框。 我使用的是.nv-point
类来访问数据点。 问题是,我无法onclick事件寄存器的数据点。
下面是代码:
d3.selectAll(".nv-point").on("click",function(){
alert("clicked");
//do something more
});
这是在演示的jsfiddle
我试图将数据点与onclick事件绑定,这样我就可以有一些额外的细节和链接显示叠加框。 我使用的是.nv-point
类来访问数据点。 问题是,我无法onclick事件寄存器的数据点。
下面是代码:
d3.selectAll(".nv-point").on("click",function(){
alert("clicked");
//do something more
});
这是在演示的jsfiddle
您可以轻松地附加一个单击处理程序对这样的线型图“圆”,或节点点:
chart.lines.dispatch.on('elementClick', function(e) {
alert("You've clicked on " + e.series.key + " - " + e.point.x);
});
在上面的例子中,这将显示(线)的关键,你已经点击的节点的准确x值。 我发现设置的警戒线断点非常有帮助,并使用Chrome / FF /等开发工具,检查的e
对象,所以你可以看到什么数据是可用的,以及如何访问它。
多把玩后左右,这似乎为我工作:
d3.select("#mainGraph svg").selectAll(".nv-point").style("pointer-events", "all").on("click", function( e ) { console.log( JSON.stringify( e ) ); });
基本上,之间我做了什么,你最初试图只是重新改写样式表打开指针的事件,即风格(“指针事件”,“全”)的东西。区别`
该线图与SVG行,有着一流的NV-线制成。 你原来的jsfiddle的叉是在这里: http://jsfiddle.net/pnavarrc/qzwkn/1/
d3.selectAll(".nv-line").on("click", function () {
alert("clicked");
});
如果你觉得在看看nvd3的源代码:
你可以只添加参数,将其链接到的数据点。 就我而言,我是想超链接的每个数据点。 该参数具有传递的值,其可以被用于更新超链接按规定。
d3.selectAll(".nv-point").on("click", function (e) {
alert(e[0].values[0]);
});