USEMAP和ONCLICK都在IMG Tag上使用,无法在Firefox中使用

时间:2014-02-11 17:15:28

标签: javascript firefox onclick

我有一个带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>

1 个答案:

答案 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/