具有FixedColumns扩展名的DataTables在表头中断jQuery触发器

具有FixedColumns扩展名的DataTables在表头中断jQuery触发器,jquery,triggers,datatables,Jquery,Triggers,Datatables,使用DataTables的FixedColumns扩展时,如何让jQuery触发器在列标题中工作? 我正在使用带有FixedColumns扩展的DataTables。 我在表头中有一个jQuery触发器,在使用FixedColumns时它不起作用 当jQuery触发器位于表外时,一切正常: 当jQuery触发器被放入表中(在第一列标题中)时,它将不再工作 问题是数据表的内容在文档加载后动态加载 因此,当您的JS在加载后第一次运行时,没有找到checkAll。但是,一旦数据表加载了#checkA

使用DataTables的FixedColumns扩展时,如何让jQuery触发器在列标题中工作?

我正在使用带有FixedColumns扩展的DataTables。 我在表头中有一个jQuery触发器,在使用FixedColumns时它不起作用

当jQuery触发器位于表外时,一切正常:

当jQuery触发器被放入表中(在第一列标题中)时,它将不再工作


问题是数据表的内容在文档加载后动态加载

因此,当您的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
之后才开始更改表,因此无法工作。我通过向单击触发器添加超时来解决此问题。感谢您的帮助。