0

次のコードを使用して、画像クリックでリンクを開こうとしています

 <img src="AllScripts/SliderImages/images/1Main.png" alt="" title="" onclick="openSliderImage(id);"  onmouseover="this.style.cursor='hand'"  width="800px" height="300px" id="http://www.google.com" />

正常に動作していますが、response.write コードを使用して c# write コードを使用して画像を生成すると、動作せず、次のリンクに進みます

http://localhost:1234/AllScripts/SliderImages/images/1Main.png

次のコードは、html を記述するために使用されます。

 <% {

                               Response.Write(SlidingImages);
                       }

                    %>

image src画像クリックではなく選択することは知っていimage idますが、なぜですか? これはJavaScript関数です

 function openSliderImage(id) {
            alert(id);
            window.open(id, '_blank');
        }
4

2 に答える 2

1

id を変更します (id という名前の JavaScript 変数を参照しているため、イメージ id をターゲットにしてから使用しますthis.id

<img src="AllScripts/SliderImages/images/1Main.png" alt="" title="" onclick="openSliderImage(this.id);"  onmouseover="this.style.cursor='hand'"  width="800px" height="300px" id="http://www.google.com" />

また、onmouseover を削除して、CSS で設定することもできます (IE7+ の場合) img:hover (または cssClass を設定して、すべての画像が対象となるわけではありません)。

于 2012-08-15T06:19:07.293 に答える
1

そのような ID を使用してリンクを開くのはハックのようです。関数へのパラメーターとして直接開く必要があるリンクを好きなようにURLを出力するだけです。

<img id="googleImg" onclick="openSliderImage('http://www.google.com');" src="AllScripts/SliderImages/images/1Main.png" alt="" title=""   onmouseover="this.style.cursor='hand'"  width="800px" height="300px" />

「id」という名前で JavaScript 変数を検索するため、コードは実行されません。

于 2012-08-15T06:24:27.247 に答える