使用elementFromPoint()方法获取特定子元素

3

我有一个包含多个 PATH 对象的 SVG 地图。在该地图上覆盖了一张图片,因此每当我想在地图上调用某些事件时,我必须使用 elementFromPoint。我的函数结构有点像这样:

function CallEvent(e){

$('.overlay-image').hide(0);

var mapObj = document.elementFromPoint(e.clientX, e.clientY);   

$(mapObj).click();

$('.overlay-image').show(0);
}

当我使用SHAPE地图时,它工作得很完美,但现在我使用SVG地图,它不起作用,因为elementFromPoint选择了整个SVG元素,我需要抓取位于用户点击坐标处的PATH对象。
是否可能使用此函数找到PATH对象?所有PATH对象都具有id和class。
最后,SVG地图的结构如下:<SVG><D><PATH></PATH></D></SVG>
1个回答

1

jQuery Nearest Element plugin 可以满足您的需求。

您可以使用类似 $.nearest({x: 100, y: 100}, 'path') 的方法来识别最近的路径。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接