我使用nvd3作爲多條形圖表,並且我希望在用戶單擊頁面上的其他html時重繪圖表。我試圖使用jQuery選擇在nvd3主頁(http://nvd3.org/)的「Stream0」傳說圈,雙擊它,在控制檯中使用這個片段:使用jquery在nvd3中觸發圖例點擊事件?
$($('g.nv-series')[0]).click()
對於希望將立即人們更瞭解顯而易見的原因JavaScript,沒有任何反應。這與事件授權有關嗎?
我使用nvd3作爲多條形圖表,並且我希望在用戶單擊頁面上的其他html時重繪圖表。我試圖使用jQuery選擇在nvd3主頁(http://nvd3.org/)的「Stream0」傳說圈,雙擊它,在控制檯中使用這個片段:使用jquery在nvd3中觸發圖例點擊事件?
$($('g.nv-series')[0]).click()
對於希望將立即人們更瞭解顯而易見的原因JavaScript,沒有任何反應。這與事件授權有關嗎?
你可以試試這個:
chart.legend.dispatch.legendClick = function(d, i){
//redraw
};
將自己的方法追加到傳奇;它適用於餅圖不確定是否適用於折線圖;
此代碼在用戶單擊圖例時運行,但尚不清楚它如何觸發單擊事件。 – 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)應該有所幫助。 –