これがD3で可能であるかどうかはもちろん、その方法を理解するのに少し苦労しています.
3 つのイベント ハンドラー (「クリック」、「マウスオーバー」、「マウスアウト」) をアタッチした rect 要素があります。<g>
これはすべてうまく機能していますが、唯一の問題は、rect 要素の上に配置されているものにテキスト要素も追加することです。このような:
<g>
<rect x="204" y="204" width="204" height="204" style="fill: yellow; pointer-events: all; fill-opacity: 0.402592;" stroke="none" stroke-width="0" stroke-dasharray="15,15,15">
<text class="word" x="306" y="306" text-anchor="middle" fill="black" style="fill-opacity: 1.00648;">Text Element</text>
</g>
私が見ている問題は、マウスがまだ四角形の上にあるときにマウスアウトイベントが発生することですが、テキスト要素はマウスのすぐ下にあり、基本的にマウスとテキストの下の四角形の「中間」にあります。
マウスにテキストを「見えなくする」方法はありますか?
WinForms/WPF について話しているとしたら、私が D3 で探している類似の機能は、IsHitTestable=false
.