2013-06-20 168 views
0

當我點擊刪除圖像時,這條線沒有被點擊。 我希望它被打到.... $( 「#basketItemsWrap UL李一」)上( 「點擊」,函數(事件){JQuery在點擊鏈接時沒有被點擊

$(document).ready(function() { 
    $("#basketItemsWrap li:first").hide(); 

    $(".detail a").click(function() { 
    var productIDValSplitter = (this.id).split("_"); 
    var productIDVal = productIDValSplitter[1]; 

    if ($('#product_' + productIDVal).hasClass('disabled')) 
     return; 

    var productX = $("#productImageWrapID_" + productIDVal).offset().left; 
    var productY = $("#productImageWrapID_" + productIDVal).offset().top; 

    if ($("#productID_" + productIDVal).length > 0) { 
     var basketX = $("#productID_" + productIDVal).offset().left; 
     var basketY = $("#productID_" + productIDVal).offset().top; 
    } else { 
     var basketX = $("#basketTitleWrap").offset().left; 
     var basketY = $("#basketTitleWrap").offset().top; 
    } 

    var gotoX = basketX - productX; 
    var gotoY = basketY - productY; 

    var newImageWidth = $("#productImageWrapID_" + productIDVal).width()/3; 
    var newImageHeight = $("#productImageWrapID_" + productIDVal).height()/3; 

    $("#productImageWrapID_" + productIDVal + " img") 
      .clone() 
      .prependTo("#productImageWrapID_" + productIDVal) 
      .css({'position': 'absolute'}) 
      .animate({opacity: 0.4}, 100) 
      .animate({opacity: 0.1, marginLeft: gotoX, marginTop: gotoY, width: newImageWidth, height: newImageHeight}, 1200, function() { 
     $(this).remove(); 

     $("#notificationsLoader").html('<img src="../img/loader.gif">'); 

     $.ajax({ 
      type: "POST", 
      url: "../ajax/basket.php", 
      data: {productID: productIDVal, action: "addToBasket"}, 
      success: function(theResponse) { 

       if ($("#productID_" + productIDVal).length > 0) { 
        $("#productID_" + productIDVal).animate({opacity: 0}, 500); 
        $("#productID_" + productIDVal).before(theResponse).remove(); 
        $("#productID_" + productIDVal).animate({opacity: 0}, 500); 
        $("#productID_" + productIDVal).animate({opacity: 1}, 500); 
        $("#notificationsLoader").empty(); 


       } else { 
        $("#basketItemsWrap li:first").before(theResponse); 
        $("#basketItemsWrap li:first").hide(); 
        $("#basketItemsWrap li:first").show("slow"); 
        $("#notificationsLoader").empty(); 
        $("#product_" + productIDVal).removeClass("enabled"); 
        $("#product_" + productIDVal).addClass("disabled"); 
       } 

      } 
     }); 

    }); 
}); 

$("#basketItemsWrap ul li a").on("click", function(event) { 
    var productIDValSplitter = (this.id).split("_"); 
    var productIDVal = productIDValSplitter[1]; 

    $("#notificationsLoader").html('<img src="../img/loader.gif">'); 

    $.ajax({ 
     type: "POST", 
     url: "../ajax/basket.php", 
     data: {productID: productIDVal, action: "deleteFromBasket"}, 
     success: function(theResponse) { 

      $("#productID_" + productIDVal).hide("slow", function() { 
       $(this).remove(); 
      }); 

      $("#notificationsLoader").empty(); 

     } 
    }); 
}); 

})。

<div id="basketItemsWrap"> 
     <ul> 
      <li id="productID_1" style="display: list-item;"><a onclick="return false;" href="../Ajax/basket.php?action=deleteFromBasket&amp;productID=1"><img id="deleteProductID_1" src="../img/delete.png"></a> name </li><li style="display: none;"></li> 
     </ul> 
    </div> 
+0

準備好的文件在.on事件處理程序中? – greener

+0

刪除'onclick =「返回false;''on'a'標籤 – karthikr

+0

你使用的是什麼版本的jquery?哦,並放棄'onclick =「返回false;」' – SpYk3HH

回答

3

它看起來像你動態地添加元素,在這種情況下,你需要使用事件代表團一樣:

$(document).on("click", "#basketItemsWrap ul li a", function(event) { 

理想情況下,你要綁定到DOM中現有的元素更接近你動態添加元素比document