gpt4 book ai didi

javascript - 编写扩展时,Jquery DataTables 默认 'dom' 在 preInit 上顺序更新

转载 作者:行者123 更新时间:2023-11-28 05:52:34 25 4
gpt4 key购买 nike

下面的代码工作正常。我可以在 _constructor 中编写扩展逻辑,并且扩展默认值将在所有表中被覆盖。

(function(window, document, undefined){

var factory = function($, DataTable) {
"use strict";

$.extend(true, DataTable.defaults, {
dom: '<"dataTablesTop"' +
'f' +
'<"dataTables_toolbar">' +
'>' +
'rt' +
'<"dataTablesBottom"' +
'lip' +
'>'
});

myExtension.prototype = {
_constructor: function(){
....
}
}

....

return myExtension;

})(window, document);

但我的预期结果是根据与 DataTables 初始化一起传递的配置值来应用扩展覆盖。

var oTable = $('#table').DataTable({
myExtension: true
});

理想情况下应该是这样的,

(function(window, document, undefined){

var factory = function($, DataTable) {
"use strict";

myExtension.prototype = {
_constructor: function(){
if(settings.myExtension){
$.extend(true, DataTable.defaults, {
dom: '<"dataTablesTop"' +
'f' +
'<"dataTables_toolbar">' +
'>' +
'rt' +
'<"dataTablesBottom"' +
'lip' +
'>'
});
}
}
}

.....

return myExtension;


})(window, document);

有人知道如何实现它吗?

最佳答案

目前看来这是不可能的。 DataTables 在“preInit”回调之前初始化 dom 元素。所以看起来需要在构建阶段推送/注入(inject)额外的元素。

引用:https://datatables.net/forums/discussion/25342/init-dt-is-not-fired-before-the-first-xhr-event#Comment_69825

关于javascript - 编写扩展时,Jquery DataTables 默认 'dom' 在 preInit 上顺序更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37972726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com