Javascript 如何在堆叠的SVG元素上触发鼠标悬停事件

Javascript 如何在堆叠的SVG元素上触发鼠标悬停事件,javascript,svg,Javascript,Svg,虽然CSS标记指针事件:none将使SVG元素不是鼠标事件的目标,但只有一个堆叠元素可以成为事件的目标。有没有一种简单的方法可以使鼠标事件以光标下的所有元素为目标,这样,如果事件发生在它们的边界框内,一组堆叠的元素都将触发它们的事件?在SVGSVGElement()上有一个方法调用,它将返回与给定矩形相交的所有元素 作为一个示例,这里有一个代码片段,它将为单击下的每个SVG形状提供随机颜色 var mysvg=document.getElementById(“mysvg”); mysvg.ad

虽然CSS标记指针事件:none将使SVG元素不是鼠标事件的目标,但只有一个堆叠元素可以成为事件的目标。有没有一种简单的方法可以使鼠标事件以光标下的所有元素为目标,这样,如果事件发生在它们的边界框内,一组堆叠的元素都将触发它们的事件?

在SVGSVGElement(
)上有一个方法调用,它将返回与给定矩形相交的所有元素

作为一个示例,这里有一个代码片段,它将为单击下的每个SVG形状提供随机颜色

var mysvg=document.getElementById(“mysvg”);
mysvg.addEventListener('click',函数(evt){
var hitRect=mysvg.createSVGRect();
hitRect.x=evt.clientX;
hitRect.y=evt.clientY;
//(将宽度和高度保留为0)
var elems=mysvg.getIntersectionList(hitRect,null);

对于(i=0;iI)我不能肯定地说,但我认为没有简单的方法可以做到这一点。我正在考虑让绑定事件以某种“命令链”的方式以编程方式触发覆盖元素的事件模式,但这确实是一个棘手的问题。它从未在Firefox中实现。啊,是的。我没有正确阅读错误。它只是一个建议的补丁。像往常一样,chrome领先于游戏。