私は要素のネストされたセット(SVG)を持っています。ルート要素はグラフであり、子要素はグラフの要素(線、軸など)です。簡単な例:d3.on( "mouseover")イベントはネストされたSVG要素では機能しません
<g transform="translate(80,10)" id="mainGraph">
<g class="Line">
<path d="....."></path>
</g>
</g>
私の問題は、私はmainGraph要素に(例えばD3.on(「マウスオーバー」と))マウスオーバー/のMouseMoveイベントをバインドする場合、私は1の上にマウスを移動した場合、それが唯一のトリガーということです子要素の
私が読んだことの1つは、それ以降の要素の優先順位があるため、すべての子要素に.style( "pointer-events"、 "none")を追加しましたが、機能しませんでした。
にCSSプロパティを追加することです。 –
'g'要素(' div'と違って)は形状のないコンテナなので次元はありません。マウスオーバーを矩形領域に適用するには、このような矩形のコンテンツを指定する必要があります。ただし、fill:noneとpointer-events:すべてのスタイルを使用すると便利です。 – mbostock
@mbostock要素で直接ポインタイベントを使用する場合と、CSSプロパティでポインタイベントを設定する場合の違いは何ですか? '' 'g''の中の' 'path''要素も同じように振る舞いますか? – amenadiel