我有一个SVG
地图,其中包含多个PATH
个对象。在该地图上有一个重叠的图像,所以每当我想在地图上调用某个事件时,我都必须使用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>
答案 0 :(得分:1)
jQuery Nearest Element plugin可以满足您的需求。
您可以使用类似$.nearest({x: 100, y: 100}, 'path')
的内容来识别最近的路径。