如何在图像地图鼠标中获取图像的ID
问题描述:
假设您有两张图像使用相同的图像地图。如何在图像地图鼠标中获取图像的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内()?
答
是的。最简单的方法是使用像jQuery这样的库来连接事件,而不是使用onmouseover。如果你这样做,你基本上做这样的事情:
$("AREA").mouseOver(function (e) {
var id = $(e.target).attr("id");
}
如果你不这样做,那么......好吧玩弄“这个”你testFunction的定义,和好运气内(因为你将会处理跨浏览器不兼容的喜悦)。
-1你试过这个解决方案吗? #1在jQuery和DOM Event对象本身中都没有'getTarget()'。 – jitter 2009-12-19 11:23:11
没有getTarget(),但事件对象中有e.target,e.currentTarget和e.relatedTarget属性。这是你指的是什么?如果是,那些属性给出不稳定的结果 - 有时它返回的ID和其他时间它返回图像的ID。 任何人有任何其他建议,或者你可以澄清你要去机枪?感谢您的原始答复。 – user234882 2009-12-19 21:49:02
哎呦;不知道我从哪里得到getTarget()...... *叹息* ...但是,是的,e.target和e.currentTarget就是我的意思。我会解决答案。至于不一致,这似乎很奇怪。你可以识别任何模式,以便当它返回图像映射的ID与区域? – machineghost 2009-12-19 22:20:16