0

これが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.

4

1 に答える 1

0

典型的ではありませんか...質問をすると、解決策が提示されます。

積み重ねられた要素をマウス イベントから非表示にするには、次のスタイル宣言を追加します。

    .style("pointer-events", "none")
于 2013-06-26T07:58:12.373 に答える