使用jquery阻止特定链接

时间:2013-03-07 09:55:00

标签: javascript jquery html

在图库中,我想阻止某些缩略图通过灯箱扩展原始图片。 图像没有ID,只有一个类。所有链接都从数据库中的表中读取。

$(document).ready(function(){
            if($('.product-image').attr('target', 'blockedpath')) {
                $('.product-image').click(function(e) {
                    e.preventDefault();
                    return false;
                });
            }
        }); 


<li class="product">
            <div class="productInfo">
                <h3>@i.ToString()</h3>
                <a href="@Href("~/Images/2013/" + i.ToString() + ".jpg")" rel="lightbox" class="link">
                    <img class="product-image" src="@Href("~/Images/2013/Thumbnails/" + i.ToString() + ".jpg")" alt="foto" />
                </a>
            </div>
        </li>

如果我使用此功能,则会阻止所有缩略图。如何防止仅阻止图片并避免阻止缩略图。 是否可以保存所有应该在数组中阻塞的图像并循环遍历该数组以阻止这些缩略图?

2 个答案:

答案 0 :(得分:5)

您首先检查target = blockedpath是否存在任何图片,然后屏蔽所有图像。

您可以使用以下内容:

$(document).ready(function(){
    // Select elements with the product-images class, that also 
    // have a target attribute with a value equal to 'blockedpath'
    // Bind a click event to the matched elements
    $('.product-image[target="blockedpath"]').click(function(event) {
        event.preventDefault();
        return false;
    });
}); 

答案 1 :(得分:1)

$('[target=blockedpath]').click(function( e ){
  e.preventDeault();
});

或相反:

$('.product-image').not('[target=blockedpath]').click(function(){
  alert('hi!');
});

http://api.jquery.com/event.preventDefault/