Javascript Jquery数据表默认值';dom';写入扩展时在preInit上进行订单更新

Javascript Jquery数据表默认值';dom';写入扩展时在preInit上进行订单更新,javascript,jquery,datatables,Javascript,Jquery,Datatables,下面的代码工作正常。我可以在_构造函数中编写扩展逻辑,扩展默认值将覆盖所有表 (function(window, document, undefined){ var factory = function($, DataTable) { "use strict"; $.extend(true, DataTable.defaults, { dom: '<"dataTablesTop"' + 'f' + '<

下面的代码工作正常。我可以在_构造函数中编写扩展逻辑,扩展默认值将覆盖所有表

(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);
理想情况下应该是

(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);
(功能(窗口、文档、未定义){
变量工厂=函数($,数据表){
“严格使用”;
myExtension.prototype={
_构造函数:函数(){
if(settings.myExtension){
$.extend(true,DataTable.defaults{
dom:'+
“rt”+
''
});
}
}
}
.....
返回myExtension;
})(窗口、文件);

有人知道如何实现它吗?

目前看来这是不可能的。DataTables在“preInit”回调之前初始化dom元素。因此看起来需要在构造阶段推送/注入其他元素


参考:

目前看来这是不可能的。DataTables在“preInit”回调之前初始化dom元素。因此看起来需要在构造阶段推送/注入其他元素

参考:

(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);