2017-04-18 85 views
1

我不是JQuery的专家,所以这个问题可能被应用于除DataTables以外的插件。假设我要声明的附加(自定义)在初始化设置:Jquery Datatables扩展设置和功能

var dTable = $('#example').DataTable(
    ..., 
    'myOption' : [{ 'text' : 'Foo' } , { 'text' : 'Bar' }, ...], 
) 

如果myOption声明,我想自动调用这样一个函数(如回调函数):

function() { 
    console.log(dTable.settings().myOption) 
} 

所以基本上,我想扩展一个插件,但我不明白如何从手册或其他例子可以完成。 我该如何做到这一点?

回答

1

其实它很容易达到你想要的。挂接到init.dt事件,并与一些封闭魔术你有一个 “插件”:

//myOption "plugin" 
(function() { 
    var run = function(myOptionSettings) { 
    console.log(myOptionSettings) 
    }; 
    $(document).on('init.dt', function (e, settings, json) { 
    var myOption = settings.oInit.myOption || false; 
    if (myOption) { 
     run(myOption) 
    } 
    }) 
})(document); 

在使用中:

var table = $('#example').DataTable({ 
    myOption : [{ 'text' : 'Foo' }, { 'text' : 'Bar' }] 
}) 

演示 - >http://jsfiddle.net/e3vyjta5/