2016-07-28 37 views
3

當你點擊「href」鏈接時,我有這個jQuery使FadeOut平滑頁面。我該怎麼辦jQuery不適用於特定元素?

我有一個電子商務,所以我有一個購物車,你可以看到你添加的產品。 (在線商店:www.backlabel.com

您可以直接用產品頂部的「X」將其從購物車中刪除。這個「X」具有「href」屬性,所以頁面加載jQuery和它的壞,因爲整個頁面重新加載。

我希望jQuery不能在「X」按鈕上工作。我可以在此jQuery中使用額外的代碼嗎?

// delegate all clicks on "a" tag (links) 
$(document).on("click", "a", function (event) { 
    // get the href attribute 
    var newUrl = $(this).attr("href"); 

    // veryfy if the new url exists or is a hash 
    if (!newUrl || newUrl[0] === "#") { 
     // set that hash 
     location.hash = newUrl; 
     return; 
    } 

    // now, fadeout the html (whole page) 
    $("html").fadeOut(function() { 
     // when the animation is complete, set the new location 
     location = newUrl; 
    }); 

    // prevent the default browser behavior. 
    return false; 
}); 
+0

防止默認瀏覽器行爲使用event.preventDefault() – atul

回答

5

可以排除href從這樣的選擇使用a:not('#yourID')

$(document).on("click", "a:not('#x')", function (event) { 
 
    alert('clicked'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="#" >Link1</a> 
 
<a href="#" >Link2</a> 
 
<a href="#" id="x">Link3</a>

1
$("html").fadeOut(function() { 
     // when the animation is complete, set the new location 
     window.location = newUrl; 
    });