2010-05-03 7 views
0

동일한 이미지 맵을 공유하는 이미지가 여러 개있을 때 이미지를 클릭 할 때 어떤 이미지가 클릭되었는지 감지 할 수있는 방법이 있습니까?이미지 맵이있는 이미지 감지

건물 (간단한 이미지)이지도에 배치되고 드래그 할 수있는 자바 스크립트 앱을 만들었습니다. 사용자가 건물을 클릭하면 e.target을 사용하여 건물을 쉽게 검색하고 드래그 할 수 있습니다. 그러나 이미지 정확도를 높이기 위해 이미지 맵을 추가 할 때 e.target은 더 이상 작동하지 않습니다. 어떤 이미지를 클릭했는지 확인할 수있는 방법이 있습니까? 이미지가 이미지 맵을 사용할 때 이미지가 클릭되었다는 것을 자바 스크립트가 감지 할 수 없다는 것이 다소 이상하게 보입니까?

usemap = "samemap"을 사용하는 두 개의 이미지가있는 경우 이미지 맵이 트리거 될 때 두 이미지 중 어느 이미지를 클릭했는지 확인하는 방법은 무엇입니까?

답변

0

document.elementFromPoint (x, y)를 사용하여이 문제에 대한 해결책을 찾았습니다. 주어진 좌표에서 어떤 요소가 거짓인지를 단순히 알려줍니다. 이미지 맵을 클릭 할 때 마우스 클릭의 좌표를 잡아 내면 이미지 맵 아래에있는 이미지를 찾을 수 있습니다. 오페라와 파이어 폭스의 경우 elementFromPoint는 이미지 맵이 여전히있을 때에도 이미지를 제공합니다. Internet Explorer와 Google 크롬의 경우 이미지 맵을 일시적으로 사용 중지하고 document.elementFromPoint를 사용하고 이미지 맵을 다시 사용하도록 설정해야했습니다.

이 사실을 알게 된 후에 나는 다른 방법으로 전환했지만 다른 사람에게 도움이 될 수 있습니다.