2017-08-28 20 views
0

我想創建一個使用AJAX和jQuery的Like-Different系統。 「喜歡」事件似乎正常工作,但是當我想「不像」事件沒有響應。任何建議來解決這個問題,表示讚賞。在jQuery中處理點擊事件(對於Like和不同按鈕)

$(document).ready(function() { 
    $(".like").click(function() { //this part is working 
     var item_id = $(this).attr("id"); 
     var dataString = 'item_id=' + item_id; 
     $('a#' + item_id).removeClass('like'); 
     $('a#' + item_id).html('<img src="images/loader.gif" class="loading" />'); 
     $.ajax({ 
      type: "POST", 
      url: "ajax.php", 
      data: dataString, 
      cache: false, 
      success: function(data) { 
       if (data == 0) { 
        alert('you have liked this quote before'); 
       } else { 
        $('a#' + item_id).addClass('liked'); 
        $('a#' + item_id).html(data); 
       } 
      } 
     }); 

    }); 

    $(".liked").click(function() { //this part is not working 
     var item_id = $(this).attr("id"); 
     console.log(item_id); 
     var dataString = 'item_id=' + item_id; 
     $('a#' + item_id).removeClass('liked'); 

     $('a#' + item_id).html('<img src="images/loader.gif" class="loading" />'); 
     $.ajax({ 
      type: "POST", 
      url: "ajax.php", 
      data: dataString, 
      cache: false, 
      success: function(data) { 
       if (data == 0) { 
        alert('you have liked this quote before'); 
       } else { 
        $('a#' + item_id).addClass('like'); 
        $('a#' + item_id).html(data); 
       } 
      } 
     }); 

    }); 
}); 

回答

0

$(".like")$(".liked")當文檔準備好,但是當你從一個元素添加/刪除類沒有更新被檢索。

如果您分配一個更通用類票的元素,如「像撥動」你就可以做到以下幾點:

$(document).ready(function() { 
 
    $('.like-toggle').click(function(event) { 
 
    if ($(event.target).hasClass('like') { 
 
     // Call your unlike code, replace like with liked. 
 
    } else { 
 
     // Call your like code, replace liked with like. 
 
    } 
 
    }); 
 
});

這工作,因爲like-toggle類從未從元素中移除,因此文檔準備好時存在的元素將繼續運行。