在img中调用onclick?

时间:2011-12-21 17:42:19

标签: javascript css

我想要点击几个拇指指甲,并在缩略图上弹出一个更大的版本。我有我正在使用的代码,如果我将其设置为标签作为链接,它可以工作但我似乎无法使拇指甲img本身可引发

HTML,有效的链接

 <li><a href="#" onclick="toggle('widget1')">Toggle</a></li>

的javaScript

function toggle(id) {
  var e = document.getElementById(id);

  if (e.style.display == '')
    e.style.display = 'none';
  else
    e.style.display = '';
}

HTML图像我想点击这里是我试过的

<div id="wid1"><a href="#" onclick="toggle('widget1')"><img src="widLayOut1.jpg"   
height="200" width="200" /></a></div>

HTML的其余部分

<div id="widget1" style="display:none"><img src="widget1.jpg" /></div>
enter code here

思想

1 个答案:

答案 0 :(得分:6)

您应该能够像任何其他元素一样向图像添加点击事件。首先添加一个id

<img id="yourImg" src="widLayOut1.jpg"

然后

document.getElementById("yourImg").addEventListener("click", function(){
    alert("You clicked the image");
});

当然,如果你想支持旧的浏览器,你还需要做更多的工作

var img = document.getElementById("yourImg");

if (img.addEventListener)
    img.addEventListener("click", function(){
        alert("You clicked the image");
    });
else if (img.attachEvent)
    img.attachEvent("onclick", function(){
        alert("You clicked the image");
    });
 else 
     alert("What are you using?!");  

修改

我在想上面的

document.getElementById("yourImg").onclick = function() {
    alert("You clicked the image");
};

应该工作得很好。谢谢mplungjan