1

私は D3 を使用して、円グラフのレイアウトと円弧から「ラジアル ハブ アンド スポーク チャート」(別名「ラジアル ホイール」) を作成しています。すべて正常に動作する HTML リンクを含むすべてのアークとノードを有効にするようにホイールを設定しました。また、マウスオーバー イベントを使用してアークとノードの色を変更するようにホイールを設定しました。

問題は、要素にマウスオーバーしてクリックして HTML ページに移動したときに、ブラウザーの「戻る」ボタンを押して D3 ビジュアライゼーションに戻っても、マウスオーバーの最後の状態がクリアされないことです。より具体的には、円弧にマウスを合わせると、.on(mouseover...) イベントが関数を呼び出して円弧を濃い青色にします。次に、アークをクリックして、リンク先のページに移動します。ブラウザーの「戻る」ボタンを押してビジュアライゼーションに戻ると、アークは元の色に戻るのではなく、まだ濃い青色のままです。

これに対処する簡単でクリーンな方法はありますか?

4

1 に答える 1

1

.on(click) でスタイリングをリセットすることを検討しましたか? CSS クラスを使用して最初から色を変更している場合は、おそらくこれが最も簡単です。いいチャートですね。

更新: Chrome、Firefox、または Safari で提供されたリンクを使用して、この動作を再現できませんでした。ブラウザバック時には常に元の色に戻ります。

于 2012-08-02T19:44:46.570 に答える