Jquery 多个datatables:ajax请求一个表阻止另一个表上的事件
我正在使用jQuery数据表插件。一个页面上有两个数据表(在引导选项卡中),都是通过ajax加载的。当一个表完成加载时,我希望用户能够对其进行排序/更改页面/搜索,即使另一个表仍在从服务器获取数据。但是,当其中一个表进行ajax调用时,两个表都被阻止注册任何排序/分页/搜索事件 为了检查在ajax调用期间是否注册了单击,我设置了一个常规的单击处理程序,它显示列标题实际上正在被单击。但是,如果没有运行datatables ajax调用,那么单击只会生成datatables order事件Jquery 多个datatables:ajax请求一个表阻止另一个表上的事件,jquery,ajax,datatables,Jquery,Ajax,Datatables,我正在使用jQuery数据表插件。一个页面上有两个数据表(在引导选项卡中),都是通过ajax加载的。当一个表完成加载时,我希望用户能够对其进行排序/更改页面/搜索,即使另一个表仍在从服务器获取数据。但是,当其中一个表进行ajax调用时,两个表都被阻止注册任何排序/分页/搜索事件 为了检查在ajax调用期间是否注册了单击,我设置了一个常规的单击处理程序,它显示列标题实际上正在被单击。但是,如果没有运行datatables ajax调用,那么单击只会生成datatables order事件 $(fu
$(function () {
// code here
// columns setup...
createDatatable(videoColumns, $("#VideoTab"), "Videos");
createDatatable(booksColumns, $("#BooksTab"), "Books");
});
function createDatatable(columns, $tableContainer, tableType) {
var $dataTable = $tableContainer.find(".custom-data-table");
var mTable = $dataTable.DataTable({
serverSide: true,
ajax: {
url: "/Tables/GetTableData",
data: function (d) {
return $.extend({}, d, {
tableType: tableType
});
},
type: "POST"
},
columns: columns
});
//isn't called when either table is still loading data
$dataTable.on('order.dt', function () {
console.log("table ordered " + tableType);
});
//this registers a click on the column header even when ajax is running
$tableContainer.on("click", function(e){
console.log(e.target);
});
}
有一个datatables内部设置可能与此相关,但我不知道如何更改以阻止它阻止在当前未进行ajax调用的表上注册事件
/**
* Note if draw should be blocked while getting data
* @type boolean
* @default true
*/
"bAjaxDataGet": true,