具有FixedColumns扩展名的DataTables在表头中断jQuery触发器
使用DataTables的FixedColumns扩展时,如何让jQuery触发器在列标题中工作? 我正在使用带有FixedColumns扩展的DataTables。 我在表头中有一个jQuery触发器,在使用FixedColumns时它不起作用 当jQuery触发器位于表外时,一切正常: 当jQuery触发器被放入表中(在第一列标题中)时,它将不再工作具有FixedColumns扩展名的DataTables在表头中断jQuery触发器,jquery,triggers,datatables,Jquery,Triggers,Datatables,使用DataTables的FixedColumns扩展时,如何让jQuery触发器在列标题中工作? 我正在使用带有FixedColumns扩展的DataTables。 我在表头中有一个jQuery触发器,在使用FixedColumns时它不起作用 当jQuery触发器位于表外时,一切正常: 当jQuery触发器被放入表中(在第一列标题中)时,它将不再工作 问题是数据表的内容在文档加载后动态加载 因此,当您的JS在加载后第一次运行时,没有找到checkAll。但是,一旦数据表加载了#checkA
问题是数据表的内容在文档加载后动态加载 因此,当您的JS在加载
后第一次运行时,没有找到checkAll
。但是,一旦数据表加载了#checkAll
。
要克服此问题,您可以触发单击文档,然后通过执行以下操作将您的功能应用于#checkAll
:
$(document).on('click','#checkAll',function(){
console.log('working...');
});
EDITDatatables有一个[initiComplete]属性,它可以接受回调函数,让您知道表何时已完全加载和绘制
$('#example').dataTable( {
"initComplete": function() {
alert( 'DataTables has finished its initialisation.' );
$('#checkAll').click(function(){
console.log('working...');
});
}
});
谢谢你的回答。你知道DataTables是否有一个触发器,当它与我可以用来附加事件的DOM发生冲突时会触发它吗?你的第一个解决方案对我有效,但第二个(我认为这是一个更好的方法)由于FixedColumns在
initComplete
之后才开始更改表,因此无法工作。我通过向单击触发器添加超时来解决此问题。感谢您的帮助。