我在尋找類'install-plugin'的單擊偵聽器上有一個jQuery。JQuery - 觸發器類互換時點擊偵聽器不會觸發
單擊時,它將類(通過jQuery)更改爲「delete-plugin」。
反之亦然,所以有一個'delete-plugin'的監聽器,當點擊它時,將類更改爲'install-plugin'。
我遇到的問題是,這隻能工作一次,雖然我可以看到正確的更新了頁面上的類,jQuery似乎並沒有看到,仍然觸發原始偵聽器。
(ajax對於預期的擴展功能是必需的)。是否有可能讓jQuery始終與頁面上的內容保持最新而不用刷新它?
$(document).ready(function() {
$('.install-plugin').click(function() {
var id = $(this).attr('id');
var postData = {
action : 'install_plugin',
}
$.ajax({
method: 'POST',
url: "/wp-admin/admin-ajax.php",
data: postData,
success: function(response) {
$('#'+id).text('Delete');
$('#'+id).removeClass('install-plugin');
$('#'+id).addClass('delete-plugin');
}
});
})
$('.delete-plugin').click(function() {
var id = $(this).attr('id');
var postData = {
action : 'delete_plugin',
}
$.ajax({
method: 'POST',
url: "/wp-admin/admin-ajax.php",
data: postData,
success: function(response) {
$('#'+id).text('Install');
$('#'+id).removeClass('delete-plugin');
$('#'+id).addClass('install-plugin');
}
});
})
});
還可以分配(代表),將總是存在於DOM中的父元素的監聽器。例如,這將監聽稍後添加到頁面中的DOM元素上的單擊事件。請參閱[瞭解事件委派](https://learn.jquery.com/events/event-delegation/) –