0

selection.on("click" function() { } )定義された領域(ドーナツまたは環)を除いて、ブラウザウィンドウ全体にイベントリスナー、具体的にはを追加しようとしています。つまり、ユーザーがブラウザウィンドウ内の定義された領域(ここでは具体的にはドーナツまたはアニュラス)を除いてクリックしたときに、特定の機能を実行したいと思います。

4

1 に答える 1

0

私はd3.jsに精通していませんが、投稿したコードからは、まだ通常のDOMイベントを処理しているように見えます。必要なことを行う基本的な方法は、次のようにイベントをバインドすることです。

  • すべてのクリックを処理する必要があるイベントは、ドキュメント/本文にバインドされます。
  • 次に、最初のハンドラーを起動させてはならない要素に別のイベントをバインドしstopPropagation()、そのイベントオブジェクトのメソッドを呼び出します。これにより、前のハンドラーへのバブリングが防止されるため、実行されません。
于 2013-01-12T15:45:48.643 に答える