preventDefault()不适用于图像链接

时间:2011-07-20 09:22:59

标签: javascript jquery html image hyperlink

我正在尝试为我的网站创建一个灯箱,但我遇到了问题。由于我不是非常流利的jQuery我犯了很多错误。其中之一是我无法使preventDefault()适用于文本和图像链接!请检查以下代码

HTML代码:

Text link: <a class='ultbox_simg' href='images/1.jpg'>Image 1</a>
Image link: <a href='images/1.jpg'><img src="images/1t.jpg" /></a> 

jQuery脚本:

$(document).ready(function ($){

    $(".ultbox_simg").click(function (obj){
        obj.preventDefault();
        var img_link=$(this).attr("href");

    });
});

5 个答案:

答案 0 :(得分:3)

您也可以将该类添加到img链接:

Text link: <a class='ultbox_simg' href='images/1.jpg'>Image 1</a>
Image link: <a class='ultbox_simg' href='images/1.jpg'><img src="images/1t.jpg" /></a> 

$(".ultbox_simg").click(function (obj){
    obj.preventDefault();
    var img_link=$(this).attr("href");

});

或(我认为更好),您可以使用该href traget链接:

$('a[href="images\\/1\\.jpg"]').click(function (obj){
    obj.preventDefault();
    var img_link=$(this).attr("href");

});

答案 1 :(得分:0)

您还应该阻止默认操作:

<a href='images/1.jpg'>

所以为它添加类,例如'noClick'并添加到脚本:

$(".noClick").click(function (obj){
        obj.preventDefault();
});

答案 2 :(得分:0)

您需要将类.ultbox_simg添加到图片链接。

<a class='ultbox_simg' href='images/1.jpg'><img src="images/1t.jpg" /></a> 

答案 3 :(得分:0)

这是你需要改变的地方:

Image link: <a href='images/1.jpg'><img src="images/1t.jpg" /></a> 

为:

Image link: <a href='images/1.jpg'  class='ultbox_simg'><img src="images/1t.jpg" /></a>

现在它会起作用

答案 4 :(得分:0)

使用$('.ultbox_simg'),您可以选择具有类ultbox_simg的元素,并将click处理程序绑定到它们。

但图片链接没有分配此类..

所以

<a class="ultbox_simg" href="images/1.jpg"><img src="images/1t.jpg" /></a>