我有一个带USEMAP和ONCLICK的IMG标签,当用户点击地图时我需要设置一个javascript变量,然后在调用函数的地图中使用该变量。如果我在IMG中注释掉ONCLICK,Map会毫无问题地调用该函数。如果我评论出USEMAP,那么ONCLICK就会触发它设置的价值,他们就不会在一起玩得很好。无论如何,我可以使用ONCLICK在firefox中将变量和USEMAP一起设置,这在IE中运行良好。 (示例代码如下)
<map NAME="map3" >
<area HREF="javascript:alert('Need to call a function here and pass value for myfield. value of myfield = ' + myfield)" COORDS="0,0,10,12">
<area HREF="javascript:readAnnotation('brsfld', myfield)" COORDS="11,0,20,12">
</map>
<body>
<CFSET fld = "CBT001">
<IMG SRC="ComQ4.gif" height="12" width="30" BORDER="0" TABINDEX="-1" ALT="" USEMAP="#map3" onclick="alert('here we are');myfield='#fld#';">
This is my test.
</body> </html>
答案 0 :(得分:0)
确保您的地图名称同时显示在MAP和IMG标记中,如下所示:
<map name="map3">...
<img src="yoururlhere" usemap="#map3"> // not #Map3
<强>更新强>
尝试添加事件处理程序
如您所料,添加事件处理程序非常简单。我将使用jQuery进行演示。
$(function() {
$('map[name=my-map] #fave-area').click(function (e) {
e.preventDefault();
alert('Clicked!');
});
});
图片地图:
<map name="my-map">
<area id="fav-area" shape=poly, coords="0,0, 46,0, 46,46" href="#fav">
</map>
有用的链接.. http://www.damiangalarza.com/posts/javascript/bringing-back-the-image-map/