我使用的是jQuery DataTables,我有一个使用foreach
循环生成的表。在生成的每一行中,使用添加到data
属性的不同数字创建了2个按钮。
页面加载后,dataTables启动并呈现表格。我有一个onClick
处理程序,可以在单击时响应按钮。
但是,当我对dataTables能够执行的表列进行排序时,按钮根本不响应onClick
处理程序。
在使用任何一个排序列时,我该怎么做才能阻止dataTable导致按钮什么都不做?
答案 0 :(得分:1)
不要使用$('.button').click
,因为这些按钮在排序时会重新创建,而是使用on
jquery事件
$(document).on('click', '.button',function(){
//your code
});
答案 1 :(得分:0)
您需要使用委派的事件处理程序,因为重绘表时很可能会重新创建按钮。
以下是您需要更新以匹配您的结构的示例代码:
$('#example tbody').on('click', '.button', function(e){
// your code
});
将example
替换为您的表格的ID属性,并将.button
替换为适合您的按钮的CSS选择器。
有关详细信息,请参阅jQuery DataTables – Why click event handler does not work。