检索数据表对象原型

时间:2016-01-18 17:31:18

标签: javascript datatables prototype

我的应用程序(版本1.10.10)中有很多数据表。我用

调用它们
var myDt = $("#myId").DataTable({/*properties object*/});

我需要访问对象myDt的原型才能添加一次,并且在我的应用程序中添加所有我需要的数据表的自定义函数。 使用$().DataTable.prototype不起作用,我也没有在datatables数据结构中找到任何“fn”属性。我没有在网上找到任何关于此事的内容。

3 个答案:

答案 0 :(得分:1)

假设您正在使用的数据广告插件使用原型,您应该能够在源中找到它,寻找.prototypeObject.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")