datatables js grid:处理dbl click事件

时间:2013-08-26 21:01:16

标签: javascript jquery event-handling datatables

我尝试使用jquery数据表处理表上的双击事件 你可以看到我尝试了一些东西,在fnDrawCallback里面,里面的文件准备好用on()或直接dblckick()但是它永远不会工作;-( 它只适用于我在表元素上设置但是有了它,我没有得到行元素; - (

这是代码:

$(document).ready (function() {
$("#wfTable").dataTable( {
    "bProcessing": true,
    "bServerSide": true,
    "sAjaxSource": "server/workflows",
    "bScrollInfinite": true,
   "bScrollCollapse": true,
   "sScrollY": "200px",
   "iScrollLoadGap": 50,
   "aoColumns": [
    { "sTitle": "Id",   "mData": "id" },
    { "sTitle": "Label", "mData": "label" },
    { "sTitle": "Name" ,"mData": "name" }],
    "fnDrawCallback": function (oSettings) {
        var oTable = $('#wfTable TR');
        var theData = oTable.find('TR');
        theData.unbind();
        //  On row click, go to single-view page
        theData.dblclick( function (e) {
            var iPos = oTable.fnGetPosition( this );
            var aData = oTable.fnGetData( iPos );
            var iId = aData[0];
        });
    }
});/*fnServerData  bJQueryUI true*/

//$('#wfTable').dblclick( function (e) {
/*$('#wfTable td').on("dblclick", function() {
    //target = $(e.target);

    //while(target.get(0).tagName != "TR"){
    //  target = target.parent();
    //}
    var iPos = oTable.fnGetPosition( this );
    var aData = oTable.fnGetData( iPos );
    var iId = aData[0];

    window.location.href = 'workflow/' + iId;
});*/

});

1 个答案:

答案 0 :(得分:0)

我发现了这个:

    $('#wfTable').dblclick( function (e) {
    target = $(e.target);

    while(target.get(0).tagName != "TR"){
        target = target.parent();
    }

    var iPos = oTable.fnGetPosition( target.get(0) );
    var aData = oTable.fnGetData( iPos );
    var iId = aData.id;

    window.location.href = 'workflow/' + iId;
});

无论如何你的代码也必须工作