我与定制回调图书馆工作。
var dataTable = $("table").DataTable({
//...
initComplete: function(settings, json){
console.log(this);
}
}
我想这种外部化回调initComplete。 我定义了一个自定义函数:
var initCallback = function(settings, json){
console.log(this);
}
var dataTable = $("table").DataTable({
initComplete: initCallback
}
它的工作,但this
并不指向datatable
本身。 有没有绑定这initCallback这样我就可以访问它的方法吗?
如果你通过了“本”到外部函数?
var initCallback = function(dataTableInstance, settings, json){
console.log(dataTableInstance);
}
var dataTable = $("table").DataTable({
initComplete: function(settings, json) { initCallback(this, settings, json);}
}
你要找的是bind
的功能, 这里是一些信息 。
绑定()方法创建一个新的功能,调用它时,具有其将此关键字设置为所提供的值,与前述的当新功能被调用任何设置参数给定的序列。
基本上,你可以做一些这样的:
var initCallback = function(settings, json){
console.log(this);
}
var dataTable = $("table").DataTable({
initComplete: initCallback.bind(dataTable)
}