次のような svg 構造があります。
<svg>
<g id="main-group">
...
<rect id="event-rect"></rect>
</g>
</svg>
同じイベントを #event-rect と #main-group に添付しました
d3.select('#event-rect').on('mousemove', clb);
d3.select('#main-group').on('mousemove', clb2);
ここでの問題は、最初の clb がトリガーされるのに対して、親ノード (つまり #main-group) のイベント リスナーがトリガーされないことです。
ここでイベント バブリング フェーズが機能しないのはなぜですか?
使用する実際のコードは次のとおりです。
d3.select('#event-rect').on('mousedown', mousedown);
d3.select('#event-rect').on('mousemove', mousemove);
d3.select('#event-rect').on('mouseup', mouseup);
次に、別のモジュールで、同じイベントのセットを添付します。
d3.select('#main-group').on('mousedown', dragStart);
d3.select('#main-group').on('mousemove', mousemove);
d3.select('#main-group').on('mouseup', dragEnd);
dragStart を除くすべてのコールバックが呼び出されます。私には何の意味もありません