我有一个内联数据表,当我更改数据表中的数据并单击下一页时,我需要显示引导程序模态。 如果单击是,则应保存数据,并在数据表中显示下一页。当我点击否时,它应该停留在同一页面上 现在,问题出在没有点击数据表中的“是/否”按钮,它无需等待用户响应即可进入下一页。它应该留在同一页面上。我尝试了以下方法来停止事件执行。
e.preventDefault()
e.stopPropogation()
e.stopImmediatePropogation()
上述事件不起作用。非常感谢您的帮助。谢谢。
答案 0 :(得分:2)
您应该使用preDraw
事件,因为分页或排序也会丢失数据。另外,请确保您使用的是最新的数据表版本1.10.19
。
Doc:https://datatables.net/reference/event/preDraw
var table = $('#example').DataTable();
table.on( 'preDraw', function (e, settings) {
if(!confirm('Leave?')) {
return false;
}
});
jsfiddle:http://jsfiddle.net/ebRXw/6258/
检查所有可用事件:https://datatables.net/reference/event/
var table = $('#example').DataTable();
table.on( 'order.dt', myConfirm);
table.on( 'page.dt', myConfirm);
function myConfirm(e, settings) {
if(!confirm('Leave?')) {
return false;
}
}
答案 1 :(得分:0)
我在datatables.net论坛中获得了此答案的解决方案。
var table=$('#grid').datatable();
table.settings()[0].jqXHR.abort();
它将终止ajax请求。