2009-12-18 88 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> 

有没有什么办法让图像(图像1 |图像2在这种情况下)的ID testFunction内()?

回答

0

是的。最简单的方法是使用像jQuery这样的库来连接事件,而不是使用onmouseover。如果你这样做,你基本上做这样的事情:

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

如果你不这样做,那么......好吧玩弄“这个”你testFunction的定义,和好运气内(因为你将会处理跨浏览器不兼容的喜悦)。

+0

-1你试过这个解决方案吗? #1在jQuery和DOM Event对象本身中都没有'getTarget()'。 – jitter 2009-12-19 11:23:11

+0

没有getTarget(),但事件对象中有e.target,e.currentTarget和e.relatedTarget属性。这是你指的是什么?如果是,那些属性给出不稳定的结果 - 有时它返回的ID和其他时间它返回图像的ID。 任何人有任何其他建议,或者你可以澄清你要去机枪?感谢您的原始答复。 – user234882 2009-12-19 21:49:02

+0

哎呦;不知道我从哪里得到getTarget()...... *叹息* ...但是,是的,e.target和e.currentTarget就是我的意思。我会解决答案。至于不一致,这似乎很奇怪。你可以识别任何模式,以便当它返回图像映射的ID与区域? – machineghost 2009-12-19 22:20:16

相关问题