js 数据表中的单击事件(因分页而中断)

click event in js datatables (broken with paging)

我想在每个 datatable row 中都有一个带有 js 单击的按钮,但我的代码被 datatables paging 系统 - 默认数据表选项破坏了。单击仅适用于第一个数据表页面。我唯一的想法是禁用分页并创建可滚动数据表,但我更愿意继续分页以获得更好的用户体验。

示例数据表:

<table id="data_tables">
<thead>
    <tr>
        <td>Action</td>
        <td>Name</td>
        <td>Surname</td>
    <tr>      
</thead>
<tbody>
    <!-- Datarow 1 -->
    <tr>
        <td><input type='button' class='my_button' data-id='1' value='click' /></td>
        <td>John</td>
        <td>Wayne</td>
    </tr>
    <!-- Datarow 2 -->      
    <tr>
        <td><input type='button' class='my_button' data-id='2' value='click' /></td>
        <td>Clark</td>
        <td>Kent</td>
    </tr>
</tbody>
</table> 

单击事件处理程序

//simple on() in jquery would do the trick in normal <table>
$( ".my_button" ).on( "click", function() {
    var id = $(this).attr("data-id");
    alert(id); 
});     

有没有办法解决这个问题?或者数据表 api 解决方案?

你可以这样做:

$("#data_tables").on("click", ".my_button", function() {
    var id = $(this).data("id");
    alert(id);
});