$(document).ready(function() {
var user = 1;
$("a.like").on("click", function() {
var article = $(this).attr('data-article');
$.ajax({
type: "POST",
url: "WebService.asmx/Like",
data: "{ 'user': '" + user + "', 'article': '" + article + "' }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if(msg.d == 1)
{
$(".like[data-article='" + article + "']").fadeOut(700).addClass('unlike').removeClass('like').stop().text('Unlike').fadeIn(700);
}
},
failure: function (msg) {
alert(msg.d);
}
});
});
$("a.unlike").on("click", function() {
var article = $(this).attr('data-article');
$.ajax({
type: "POST",
url: "WebService.asmx/Unlike",
data: "{ 'user': '" + user + "', 'article': '" + article + "' }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if(msg.d == 1)
{
$(".unlike[data-article='" + article + "']").fadeOut(700).addClass('like').removeClass('unlike').stop().text('Like').fadeIn(700);
}
},
failure: function (msg) {
alert(msg.d);
}
});
});
});
當我點擊一個類似它的鏈接工作正常的鏈接時,我點擊與類不同的鏈接時也是如此。然而,當我點擊兩次相同的鏈接時它不起作用!當我在互聯網上搜索時,我發現我必須使用直播而不是點擊,但是在1.8版本上不推薦使用直播。我怎樣才能讓這個火災多次?在ajax調用後點擊使用不起作用
RTFM:'live'已被棄用,更換爲'上',你的代碼在雙擊時不起作用,因爲1)AJAX是異步的,2)你沒有改變你的元素的類,所以你總是調用相同的處理器 –
_live_是有用的,如果你的DOM內容變化,即。您正在通過AJAX請求加載更多內容,並希望舊選擇器將其事件附加到新數據。如果你只是想能夠調用相同的函數兩次,_live_不會幫助你。 – Halcyon
你能說DELEGATED嗎? – adeneo