如果使用D3甚至可以做到这一点,我会遇到一些麻烦,更不用说怎么做了。
我有一个rect元素,我已经附加了3个事件处理程序(“click”,“Mouseover”,“mouseout”)。这一切都很有效,唯一的麻烦就是我还将一个文本元素添加到放置在rect元素顶部的同一<g>
。像这样:
<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>
我看到的问题是当鼠标仍然在矩形上但是文本元素紧挨着鼠标并且基本上“在鼠标之间”和文本下方的矩形时,会触发mouseout事件。
有没有办法让文字对鼠标“隐形”?
我想如果我们在谈论WinForms / WPF,那么我在D3中寻找的一种类似于IsHitTestable=false
的解释性功能。
答案 0 :(得分:0)
典型的不是......就像我问问题解决方案一样。
为了隐藏鼠标事件中的堆叠元素,请添加以下样式声明:
.style("pointer-events", "none")