繁体   English   中英

jQuery数据表在第二页上不起作用

[英]Jquery datatables don't work on the second page

我使用的是jquery datatables插件,它在首页之后不起作用,事件单击功能仅在首页上起作用。

所以我发现了https://datatables.net/faqs/

问:我的活动在第二页上不起作用

答:将事件附加到由DataTables控制的表中的单元格上时,您需要小心如何完成此操作。 因为DataTables从DOM中删除了节点,所以使用静态事件侦听器应用的事件可能无法将自身绑定到表中的所有节点。 为了克服这个问题,只需使用jQuery委托的事件侦听器选项,如本示例所示。 另外,您可以使用Visual Event书签来帮助调试事件问题。

他们建议像这样:

$('#example tbody').on('click', 'tr', function () {
    var name = $('td', this).eq(0).text();
    alert( 'You clicked on '+name+'\'s row' );
});

它起作用,但是,在我的情况下,我需要这样的选择器:

  $('#dataTables tbody tr').on('click', 'td', function (event) {
        if ($(this).attr('id') != "first" && $(this).parent().attr('data-href') !== undefined) {
            document.location = $(this).parent().attr('data-href');
        }
    });

如何通过保留选择器目标来解决问题? 谢谢。

您仍然需要使用“ #example tbody”将其绑定到tbody,然后在第二个选择器中输入“ tr td” ,然后在更改页面后仍应将其绑定到td。

是表行及其子级发生了变化,因此静态地将其绑定到它们仍然没有意义,您必须使用可选的binding参数来深入研究变化中的元素,即使它们发生变化,您仍可以访问它们

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM