完成 footable 初始化后如何继续做事?

How do I continue do things after finish footable initialize?

我为我的数据使用名为 fooTable 的查询插件 table (http://fooplugins.github.io/FooTable/)

下面是我初始化数据的代码table...

jQuery(function($){
  $('.table').footable({
      "paging": { "size": 15 },
      // "toggleColumn": "last",
      "showToggle": false,
      "columns": $.get('/footable/js/columns.json'),
      "rows": $.get('/footable/js/rows.json')
  })
})

我的问题是初始化完成后怎么办?

我试试

jQuery(function($){
  $('.table').footable({
      "paging": { "size": 15 },
      // "toggleColumn": "last",
      "showToggle": false,
      "columns": $.get('/footable/js/columns.json'),
      "rows": $.get('/footable/js/rows.json')
  })
  .done(function(){
    alert('do something');
  })
})

但是没有用。

使用postinit.ft.table事件。参见 http://fooplugins.github.io/FooTable/docs/jsdocs/FooTable.html#.event:Table%2522postinit.ft.table%2522

The postinit.ft.table event is raised after any components are initialized but before the table is drawn for the first time. Calling preventDefault on this event will disable the initial drawing of the table.

此外,postdraw.ft.table 是您可能想要的。

关于使用方法

我不是很熟悉。所以试试吧。如果它不起作用告诉我。

.when('postinit.ft.table', function(e, ft){
    //ok
})

FooTable 文档很难理解,因为它没有过多的示例。

我认为@turle 使用 "postinit.ft.table" 事件的建议很好,但是我看不出 .when('postinit.ft.table', function(e, ft){ /* do something */ }) 是正确的语法。

据我从 here 收集到的信息,事件处理程序是使用 "on" 选项附加的。

尝试:

jQuery(function($) {
    $('.table').footable({
        'paging': { 'size': 15 },
        // "toggleColumn': "last",
        'showToggle': false,
        'columns': $.get('/footable/js/columns.json'),
        'rows': $.get('/footable/js/rows.json'),
        'on': {
            'postinit.ft.table': function(e, ft) {
                /*
                 * e: The jQuery.Event object for the event.
                 * ft: The instance of the plugin raising the event.
                 */
                // all initialized - do stuff here
            }
        }
    });
});

您应该使用 postinit.ft.table 事件以及 @Roamer-1888 提到的 on 选项。 (您可以单击任何选项以查看如何使用它的小示例。)

jQuery(function($) {
    $('.table').footable({
        // your other options
        'on': {
            'postinit.ft.table': function(e, ft) {
                /*
                 * e: The jQuery.Event object for the event.
                 * ft: The instance of the plugin raising the event.
                 */
                // all initialized - do stuff here
            }
        }
    });
});

或者,插件构造函数的第二个参数是一个现成的回调,因此您只需提供一个函数,以便在一切完成后执行。

jQuery(function($) {
    $('.table').footable({
        // your options
    }, function(ft){
        /*
         * ft: The instance of the plugin raising the event.
         */
        // all initialized - do stuff
    });
});

试试'ready.ft.table'

类似

jQuery(function($){
    $('.table').footable({
    "on": {
        "ready.ft.table": function(e, ft){
            // bind to the plugin initialize event to do something
        }
    }
   });
});