我有多个独立组的SVG元素。它们相互重叠。例如:如何将点击事件映射到多个图层中的元素?
<svg id="board" width="100%" height="80%">
<g id="terrain" class="layer">
<path d="M-32,-32L32,-32 32,32 -32,32Z" transform="translate(0, 0)" class="mote terrain hill"></path>
</g>
<g id="guy" class="layer">
<path d="M-21...Z" transform="translate(192, 448)" class="mote guy"></path>
</g>
</svg>
当一个匹配两个x,y的位置被点击时,我想知道所有这些都被点击。如果我将每个绑定到'click'事件,只有顶部的事件处理程序被调用。这是合理的,虽然不是我想要的。
我正在考虑创建一个最顶层并让它捕获所有的点击,然后找出应该通知其他层的哪些元素。如果可能的话,这是我想避免的很多跟踪。有没有简单的方法呢?
您提出的解决方案对我来说听起来是正确的;因为元素是兄弟姐妹,事件不会通过它们冒泡,所以您需要捕获委托事件并确定哪些元素受到影响。 – Mathletics
此问题已答复[here](http://stackoverflow.com/questions/3735278/how-to-get-a-list-of-all-elements-that-resides-at-the-clickedpoint ) – johnsoe
问题还没有得到解答。 – seanyboy