Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery onclick事件不是';从第二页识别JQuery数据表中的t_Javascript_Jquery_Jquery Datatables - Fatal编程技术网

Javascript JQuery onclick事件不是';从第二页识别JQuery数据表中的t

Javascript JQuery onclick事件不是';从第二页识别JQuery数据表中的t,javascript,jquery,jquery-datatables,Javascript,Jquery,Jquery Datatables,我有jQueryDataTable,我想在单击delete链接时删除行。对于前10行,即第一页,它工作正常。当我从分页移动到任何其他页面时。它不起作用了。这是我的密码: $("#example tbody td.delete").click(function(event) { var row = $(this).closest("tr").get(0); oTable.fnDeleteRow( row ); }); 一行的

我有jQueryDataTable,我想在单击delete链接时删除行。对于前10行,即第一页,它工作正常。当我从分页移动到任何其他页面时。它不起作用了。这是我的密码:

$("#example tbody td.delete").click(function(event) {
                var row = $(this).closest("tr").get(0);
                oTable.fnDeleteRow( row );
    });
一行的所有最后一个td都有类“delete”


我应该如何处理所有页面或所有记录?

如果您使用的是jQuery 1.7或更高版本,则需要使用live事件处理程序,因为后续页面是动态添加的

$('#example tbody td.delete').live('click', function(event) {
    var row = $(this).closest('tr').get(0);
    oTable.fnDeleteRow( row );
});

编辑:

看起来人们仍在使用此答案,因此要使用最新的最佳实践更新此答案,请勿使用.live()。Live在1.7中被弃用,在1.9中被删除。相反,使用处理程序。这可以通过将事件绑定到父元素,并使用要作为目标的实际元素作为可选选择器参数来处理委托事件。要在上面的示例中使用它,它看起来是这样的:

$('#example tbody').on('click', 'td.delete', function(event) {
    var row = $(this).closest('tr').get(0);
    oTable.fnDeleteRow( row );
});

如果live extension不起作用,则可以额外添加live extension插件。

最好在加载下一页项目时绑定下一页项目的“单击事件”。 请在每次加载页面时加载下面的代码。并定义函数“单击函数调用”


$(“#示例tbody td.delete”)。单击(单击函数调用);

在尝试绑定内联事件时,我和您一样卡住了它的工作

 onclick="$('#dataConfirmOK').attr('href',$(this).attr('url'))"

我使用了live,但在firebug中它显示了这个错误“Resuming debugger:error during debugging loop:TypeError:firstViewRangeElement为null”(a | | |“”)。split不是一个函数$Christian我正在使用jquery-1.5.2.min.js可能是firefox/firebug的问题,Google是你的朋友:)使用这种事件处理程序是一种方法。我可能会建议使用.delegate()代替.live(),但这是我个人的偏好。我从来没有实际使用过.delegate(),只是检查了一下,这似乎是一个不错的选择。以后我将使用它而不是.live(),这是一个很好的提示!。live()自1.3以来一直是jQuery的一部分,您不需要加载外部库。此外,datatables动态加载页面,因此绑定到click事件不适用于分页。最后,您应该始终将事件处理程序包装在document ready函数中。
 onclick="$('#dataConfirmOK').attr('href',$(this).attr('url'))"