为什么点击事件处理程序只在第一页上工作

Why click event handler works on the first page only

本文关键字:第一页 工作 程序 事件处理 为什么      更新时间:2023-09-26

在我的"fnInitComplete" : function(oSettings, json)中,我有一个类似$('[id^=f_]').each(function ()的选择器。

Datatables从服务器端和"bProcessing":true 获取数据

我知道我的选择器只会在数据表的第一个页面上工作,当我更改页面时,我的函数将不起作用

但是,即使使用ajax异步加载,也有什么解决方案可以实现这一点呢。我不想放弃ajax。

一个例子:

"fnInitComplete" : function(oSettings, json) {
$('[id^=r_]').each(function () {
    $(this).click(function(e) {
        alert('Foo');
        e.preventDefault();
    })
});
}

仅适用于第一个加载的行数据表。有什么建议吗?

使用on()将操作绑定到绑定完成时可能不在DOM上的元素。

"fnInitComplete" : function(oSettings, json) {
    $(document).on('click', '[id^=r_]', function () {
        alert('Foo');
        e.preventDefault();
    })
}