JQuery DataTables – fnDrawCallback递归问题

所以在我的数据表中,我有一些按钮允许编辑记录.我正在使用
JQuery来设置样式并为按钮单击提供功能.将JQuery应用于按钮的唯一方法是将代码放在表的fnDrawCallback选项中.但是,它会导致多个函数实例!

例如,只是为了测试我正在创建一个警报,以便在单击按钮时向我提供按钮ID(即记录ID).而不只是提醒我一下,它给了我几个警报!

有任何想法吗?

*作为旁注,我尝试在fnInitComplete选项中声明函数,但只将函数应用于显示的第一组记录(即10).一旦我显示更多记录或转到下一页,这些功能就不会对这些记录起作用.

var tfTable = $('.mypbhs_truforms').dataTable({
        "bProcessing": true,
        "sAjaxSource": 'sql/mypbhs_truforms.php?accountid=<?PHP echo $accountid;?>',        
        "aaSorting": [[ 1, "asc" ]],
        "bJQueryUI": true,
        "sPaginationType": "full_numbers",
        //"bStateSave": true, //Use a cookie to save current display of items
        "aoColumns": [
            {"asSorting": [  ], "sClass":"center"},
            null,
            null,
            null,
            null,
            null,
            {"asSorting": [  ], "sClass":"center"},
        ],
        "fnDrawCallback": function(){
            //EDIT OFFICE FORM
            $('.mypbhs_edit_truform_button').click(function(){
                var tf_id = $(this).attr('id');
                alert(tf_id);
            });
        },
        "bScrollCollapse": true,
        "sScrollX": "100%",
         "fnInitComplete": function() {
                tfTable.fnAdjustColumnSizing();
         }
    });

最佳答案 好的,找到了解决这个问题的方法.使用JQuery的.on函数来处理我在fnDrawCallback选项中放置的所有函数.

我很好奇为什么使用fnDrawCallback创建相同功能的多个实例,尽管有人有答案.

点赞