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

时间:2012-12-14 19:46:08

标签: javascript jquery html

我有一个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>

1 个答案:

答案 0 :(得分:1)

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

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