数据表,如何在表的所有行上绑定事件

MaV*_*SCy 9 jquery datatables

我的数据表工作正常,除了我试图dblclick在每一行添加一个功能,这部分工作.

所以,这是我的代码:

oTable = $('#example').dataTable({
    "aaSorting": [[ 1, "desc" ]],
    "bJQueryUI": true,
    "sPaginationType": "full_numbers"
});

/* Add a click handler to the rows */

//This highlights the row selected
$("#example tbody").click(function(event) {
        $(oTable.fnSettings().aoData).each(function (){
                $(this.nTr).removeClass('row_selected');
        });
        $(event.target.parentNode).addClass('row_selected');
});

//this attaches a dblclick event on the row
$("#example tr").dblclick(function() {
        var iPos = oTable.fnGetPosition( this );
        var aData = oTable.fnGetData( iPos );
        var iId = aData[1];
        $('#edit'+iId).click(); //clicks a button on the first cell
});
Run Code Online (Sandbox Code Playgroud)

行的突出显示对于表的所有行都是可以的,但dblclick它仅适用于最初在第一页中呈现的行.当我对数据进行排序/搜索并且显示的数据发生更改时,该dblclick事件不适用于第一页中未显示的行.

任何人都可以帮助解决这个谜团吗?谢谢

DKS*_*San 20

第一个答案是接近完美,但必须有一个小的调整,以阻止它工作.

就像在jquery apidoc on()中一样,你必须添加[, selector ]我在下面做的"tr"

$("#example").on("dblclick", "tr", function() {
        var iPos = oTable.fnGetPosition( this );
        var aData = oTable.fnGetData( iPos );
        var iId = aData[1];
        $('#edit'+iId).click(); //clicks a button on the first cell
});
Run Code Online (Sandbox Code Playgroud)