2009-12-18 6 views
0

같은 이미지 맵을 사용하는 두 개의 이미지가 있다고 가정 해 봅시다.이미지 맵에서 이미지의 ID를 얻는 방법 마우스 오버

<img src="/test/image1.jpg" id="image1" useMap="map-name"> 
<img src="/test/image2.jpg" id="image2" useMap="map-name"> 

<map name="map-name"> 
    <area shape="rect" coords="0,0,82,126" alt="Sun" onmouseover="testFunction();"/> 
    <area shape="circle" coords="90,58,3" alt="Mercury" onmouseover="testFunction();"/> 
    <area shape="circle" coords="124,58,8" alt="Venus" onmouseover="testFunction();"/> 
</map> 

(image1에 |이 경우 이미지 2) 이미지의 ID를 얻을 수있는 방법이있는 testFunction의 내부는()?

답변

0

예. 가장 쉬운 방법은 onmouseover를 사용하는 대신 jQuery와 같은 라이브러리를 사용하여 이벤트를 연결하는 것입니다. 당신이 그렇게한다면, 당신은 기본적으로 같은 것을 할 수 있습니다 : 당신이 그하지 않으면

$("AREA").mouseOver(function (e) { 
    var id = $(e.target).attr("id"); 
} 

이 ... 잘 놀러을 "이"당신의 testFunction의 정의, 행운의 내부 (당신 때문에 크로스 브라우저 비 호환성의 기쁨에 대처할 것입니다.)

+0

-1이 솔루션을 사용해 보셨습니까? # 1 jQuery 나 DOM Event 객체 자체에는'getTarget()'이 없습니다. – jitter

+0

getTarget()은 없지만 이벤트 객체에 e.target, e.currentTarget 및 e.relatedTarget 속성이 있습니다. 그게 당신이 말하는 겁니까? 예인 경우 해당 속성은 이상한 결과를 나타냅니다. 의 ID를 반환하고 이미지의 ID를 반환하는 경우가 있습니다. 아무도 다른 제안이 있거나 당신이 machineghost를 위해 가고있는 것을 명확히 할 수 있습니까? 원래 답변을 주셔서 감사합니다. – user234882

+0

와우; 내가 어디에서 getTarget()을 얻었는지 모르겠다. * sigh * ... 그렇지만, e.target과 e.currentTarget은 내가 의미했던 것이다. 나는 대답을 고쳐 줄 것이다. 불일치는 이상하게 보입니다. 영역의 이미지 맵 ID를 반환 할 때까지 패턴을 식별 할 수 있습니까? – machineghost