jquery.datatable插件如何给每一行绑定鼠标单击事件

时间:2021-03-16 16:14:18
我通过$("#table_al").DataTable("filter": true,
"srollY": "500px",
"lengthChange": true,
"paging": true,
"processing": true,
"order": [],

"lengthMenu":[10,20,30,40],
"language": {
           "processing": "正忙,请稍后",
          "search":"查询:",
          "loadingRecords": "请等待 - 载入中...",
           "sLengthMenu": "每页 _MENU_ 条数据",
              "emptyTable": "无数据",
              "info": "当前显示第_START_-_END_条数据_ /共_TOTAL_条数据",
              "infoEmpty": "当前无条数据显示",
            "paginate": {
              "first": "首页",
              "previous": "上一页",
              "next": "下一页",
              "last": "尾页"
             
            },
            aria: {
             paginate: {
                  first:    'First',
                 previous: 'Previous',
                 next:     'Next',
                 last:     'Last'
             }
         }
         },
pagingType: 'full_numbers',
"data":data,
"columns": colum})
,初始化表后,再利用$("#table_al tbody tr").on("click",function(){...};绑定单击事件。
由于使用了分页功能,我发现只能在第一页单击事件有效,在后面几页就没反应了,我觉得应该是在点击下一页后,datatable重绘时tr为重新appendTo,所以未能绑定事件,应该怎么给其加上事件。

3 个解决方案

#1


不要用“on()”;用jquery的“live()”

#2


或者“delegate()” 更优雅一些

#3


这样就可以给每行绑定点击事件啦
$('table tbody').on('click','tr', function() {
});

#1


不要用“on()”;用jquery的“live()”

#2


或者“delegate()” 更优雅一些

#3


这样就可以给每行绑定点击事件啦
$('table tbody').on('click','tr', function() {
});