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

时间:2016-10-02 10:17:25

标签: javascript jquery promise footable

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

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

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');
  })
})

但它没有用。

4 个答案:

答案 0 :(得分:2)

你应该使用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
    });
});

答案 1 :(得分:1)

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

  

postinit.ft.table事件是在初始化任何组件之后但在第一次绘制表之前引发的。在此事件上调用preventDefault将禁用表的初始绘制。

此外,您可能需要postdraw.ft.table

关于如何使用

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

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

答案 2 :(得分:1)

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
            }
        }
    });
});

答案 3 :(得分:1)

只需尝试“ ready.ft.table”

类似

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