使用jquery在nvd3中触发图例点击事件?
问题描述:
我使用nvd3作为多条形图表,并且我希望在用户单击页面上的其他html时重绘图表。我试图使用jQuery选择在nvd3主页(http://nvd3.org/)的“Stream0”传说圈,双击它,在控制台中使用这个片段:使用jquery在nvd3中触发图例点击事件?
$($('g.nv-series')[0]).click()
对于希望将立即人们更了解显而易见的原因JavaScript,没有任何反应。这与事件授权有关吗?
答
你可以试试这个:
chart.legend.dispatch.legendClick = function(d, i){
//redraw
};
将自己的方法追加到传奇;它适用于饼图不确定是否适用于折线图;
+1
此代码在用户单击图例时运行,但尚不清楚它如何触发单击事件。 – axiomx11
答
也许这里有一些帮助。两个图表,一个馅饼,一个堆叠,但只显示饼图的传说。 数据不相同,但传说是.. 想单击饼图传说更新。
chart.legend.dispatch.on('stateChange.pie', function(d,i){
setTimeout(function() {
stackedAreaChart.dispatch.changeState(d,i);
stackedAreaChart.update();
}, 100);
});
注意:使用“.pie”将延长(库)stateChange事件(未覆盖它) 另一图表stackedAreaChart必须处于范围。 请注意有一个changeState事件和一个stateChange,最好是看un-minified的nvd3 js文件..
[This question](http://stackoverflow.com/questions/9063383/how-to-invoke -click-event-programmaticaly-in-d3)应该有所帮助。 –