我的应用程序(版本1.10.10)中有很多数据表。我用
调用它们var myDt = $("#myId").DataTable({/*properties object*/});
我需要访问对象myDt
的原型才能添加一次,并且在我的应用程序中添加所有我需要的数据表的自定义函数。
使用$().DataTable.prototype
不起作用,我也没有在datatables数据结构中找到任何“fn”属性。我没有在网上找到任何关于此事的内容。
答案 0 :(得分:1)
假设您正在使用的数据广告插件使用原型,您应该能够在源中找到它,寻找.prototype
或Object.create
,前者(prototype
)是函数的属性,它引用通过new
调用该函数时将被指定为原型的对象,后者(Object.create
)是一种机制用于直接创建具有特定原型的对象,而不使用构造函数和new
。
在最坏的情况下,在ES5 +浏览器上,您可以使用Object.getPrototypeOf
获取对象的原型:
var proto = Object.getPrototypeOf(myDt);
...但这需要您在添加功能之前创建数据表,这看起来很笨拙。
答案 1 :(得分:1)
有关详细信息,请参阅API plug-in development。
可以使用
$.fn.dataTable.Api.register()
静态方法注册新的API方法。
示例:
$.fn.dataTable.Api.register( 'sum()', function () {
var sum = 0;
for ( var i=0, ien=this.length ; i<ien ; i++ ) {
sum += this[i];
}
return sum;
} );
示例电话:
table.column(2).data().sum();
答案 2 :(得分:0)
这应该有效:
$("#myId").dataTable()
如果不起作用,您可以使用“data”将dataTable对象存储在您自己的
中$("#myId").data("myDt", myDt)
稍后通过以下方式获取:
$("#myId").data("myDt")