我正在尝试使用以下代码打开图像点击链接
<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" />
它工作正常但是当使用c#使用response.write代码生成图像时,它不起作用并继续下面的链接
http://localhost:1234/AllScripts/SliderImages/images/1Main.png
Follwoing代码用于编写html
<% {
Response.Write(SlidingImages);
}
%>
我知道它会在图片点击时选择image src
而不是image id
,但为什么?
这是javascript函数
function openSliderImage(id) {
alert(id);
window.open(id, '_blank');
}
答案 0 :(得分: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,这样就不会有所有图像被定位)。
答案 1 :(得分: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变量。