我有一个如下所示的 jQuery 函数:
function unlock_reservation_columns(resid) {
$('.unlock-columns').click( function(event) {
event.preventDefault();
$(this).closest('tr').find('.columns-locked').removeClass('columns-locked');
$(this).html('<i class="fa fa-lock"></i> Lock Columns');
$(this).attr('class', 'lock-columns');
new PNotify({
title: 'We have unlocked this reservation..',
text: 'Reservation Unlocked',
type: 'success'
});
var url = $(this).attr("href");
var url_id = url.replace(/[^0-9]/g, '')
$.get(url, function (data) {
var confirm_changes = confirm('Do you wish to edit unlocked information?');
if (confirm_changes) {
window.location.href = '/reservations/database/edit/' + url_id;
}
else {
location.reload()
return false;
}
});
});
});
<a class="unlock-columns" href="<?php echo $row->unlock_url; ?>"><i class="fa fa-unlock"></i> Unlock Columns</a>
“解锁列”按钮位于数据表自定义列内。现在,当页面仅初始化时,此按钮可以正常工作。在我对表格中的内容进行排序之后。 (data-order-by) 并单击它不起作用的按钮..就像排序后它停止工作一样。有什么想法吗?
最佳答案
使用委托(delegate)的事件处理程序
$('#tableId').on('click', '.unlock-columns', function(event) {
相反。现在,您只在初始化时将点击处理程序附加到可见行,而不是稍后注入(inject)的行(如分页、排序等时)。
关于javascript - jQuery 按钮在排序数据表后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32902921/