簡単な質問がありますが、残念ながら私は何か間違ったことをしていると思います。
複数の独立したチャートを生成するページがあります。ラジオ ボタン セットに依存するこのチャートごとにイベント リスナーを追加したいと思います。たとえば、ラジオ ボタン [A、B、C] に 3 つのオプションがあり、どのボタンが選択されているかによって、チャートは異なる変数を視覚化する必要があるとします。各グラフは、AJAX 呼び出しを使用して非同期的に生成され、再利用可能なグラフとして構造化されています (ここで説明されているように: http://bost.ocks.org/mike/chart/ ) 。
現時点で行ったことは、これらのチャートが次のように独自のイベント リスナーを作成することです。
d3.selectAll(".global-control").on("change.pie", readjustPie);
と
d3.selectAll(".global-control").on("change.scatter", readjustScatter);
readjustPie と readjustScatter はどちらも、異なる「再利用可能なグラフ」の関数です (例: pieChart() と ScatterChart())。
明らかに、最新のコードが実行されると、1 つのリスナーが上書きされます (グラフは非同期で生成されます)。私がやりたいのは、各関数にイベントリスナーを追加する代わりに、リスナーを追加できるようにすることです。私はのオプションを試しました
d3.selectAll(".global-control")
.on("change.pie", readjustPie)
.on("change.scatter", readjustScatter);
しかし、関数 (readjust*) が見つからないため機能しません (明らかに、それらはグローバル関数ではありません)。
そのようなイベント追加は可能ですか?
質問がばかげている場合は申し訳ありませんが、助けていただければ幸いです。
最高、ニコス