2011-12-21 13 views
3

私はクリックしたいサムネイルをいくつかクリックして、サムネイル上に大きなバージョンのポップアップを表示させます。私が使っていたコードを持っていると私はリンクなどのタグでそれを設定した場合、それは動作しますが、私はimgでonclickを呼び出す?

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

はJavaScript

の作品thumbanailのIMG自体clicable

HTML、リンクを作るように見えることはできません私はここにクリッカブルたい

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 

思考

+0

HTMLに「widget1」というIDの要素はありません。 –

+0

Sorry私が投稿したときにそのことを追加して忘れてしまった今、そこには – Overcranked

+0

あなたはどんなブラウザを使っていますか? –

答えて

6

あなたは、他の要素のようなあなたのイメージにクリックイベントを追加することができるはずです。まず、古いブラウザをサポートしたい場合は、もう少し仕事に

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?!"); 

EDIT

をしなければならないID

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

その後、

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

そしてもちろんを追加

私は以上を考えていた

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

はうまくいくはずです。ありがとうmplungjan

+1

なぜ私たちは実用的ではありませんし、 'document.getElementById(" yourImg ")をしないでくださいonclick = function()私がIE4かそれ以来知っているすべてのブラウザで動作する{}} img.onclick – mplungjan

+2

@mplungjan - pragmaticは良いです - ありがとう、私は私の答えを更新しました。そして+1 :) –

関連する問題