我有一张包含SVG文本元素的地图,用于标记位置名称。我希望这些位置(形状)可以被点击,它们确实可以被点击,但是由于文本元素在它们上面,如果某人将鼠标悬停在文本元素上并单击,则什么也不会发生,因为未能单击形状,而是单击了文本元素。如何使得如果单击文本元素,则单击事件“穿过”它并传递给形状呢?
Mozilla推出了一个名为pointer-events的CSS属性来实现此目的。它最初只适用于SVG形状,但现在大多数现代浏览器支持在大多数DOM元素上使用它:
span.label { pointer-events: none; }
这个问题的答案有一些关于如何在旧版IE中实现相同效果的好信息:
将以下CSS添加到文本中:
pointer-events: none;