我試圖讓這個工作,但不能得到它。所以我試圖在這裏做的是,當點擊鏈接(.hidepage)時,它會運行ajax,當它完成時,它會改變鏈接名稱和類名(to> showpage)。什麼是不工作是再次點擊該鏈接顯示頁面時,它再次運行隱藏。jQuery:在點擊時,改變類,並使其可以繼續
$('.hidepage').on('click', function(e){
var pageStatus = $(this).closest('tr').find('.pagestatus');
var button = $(this);
var pageID = $(this).attr('pageid');
$.ajax({
type: 'POST',
url: Jarvis.ajax_url + 'hidepage',
data: { pageid: pageID },
success: function(data)
{
console.log(data);
pageStatus.html('<span class="label label-default">Hide page</span>');
},
complete: function()
{
button.removeClass('hidepage').addClass('showpage').html('Show page');
},
error: function(xhr, textStatus, error){
console.log(xhr.statusText);
console.log(textStatus);
console.log(error);
}
});
});
並且對於showpage類有相同的代碼用於相反的動作。其他一切正在工作。 pageStatus正在改變,鏈接名稱正在改變,但行動不.. 感謝您的幫助! :)
刪除類並添加新類不會奇蹟般地移除已附加到元素的事件處理程序。 – adeneo
@MikeCheel classname showpage有相反的動作代碼。和類名稱正在改變。 – Marko
爲什麼你把switcheroo部分在完整的事件,而不是成功? –