2012-12-14 4 views
3

개체가 여러 개 포함 된 SVG 맵이 있습니다. 지도 위에 오버레이 이미지가 있기 때문에지도에서 이벤트를 호출 할 때마다 elementFromPoint을 사용해야합니다. 내 기능은 다음과 같이 다소 구조화되었다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

jQuery Nearest Element plugin는 당신이 필요로 할 수 있습니다.

가까운 경로를 식별하려면 $.nearest({x: 100, y: 100}, 'path')과 같은 것을 사용할 수 있습니다.

관련 문제