外部JS脚本运行完成后如何运行函数

时间:2015-12-10 16:38:59

标签: javascript jquery twitter-bootstrap jquery-ui

我试图了解在外部JS文件运行完毕后如何确保我的代码运行。

如果您需要特定的实施,您可以查看此问题,我正在努力帮助解答: How to get the last table row no matter the sort?

TDLR bootstrap-sortable.js 中的脚本运行表格排序。此表排序完成后;我想这样做,以便我可以运行一个片段,它将一个简单的CSS类添加到新排序表中的最后一个元素。通过这个JQuery代码段可以轻松地添加类:

var lastRow = $(this).closest("table").find("tbody tr:last");

if(!lastRow.hasClass("dropup")){
    // Removing dropup class from the row which owned it
    $(this).closest("table").find("tbody tr.dropup").removeClass("dropup");
    // Adding dropup class to the current last row
    lastRow.addClass("dropup");
}

我想知道:

  1. 外部脚本运行完毕后是否可以运行我的脚本?
  2. 如果没有,你能解释一下原因吗?
  3. 我已经考虑修改 bootstrap-sortable.js 来添加我的脚本,这是最好的推荐方法吗?
  4. 奖励回合!(只有当您觉得需要挑战时)。

    除了对链接问题使用bootstrap-sortable.js之外,还有一个更好的,自己动手的排序表解决方案吗?

    谢谢大家!

1 个答案:

答案 0 :(得分:3)

我要感谢 Dave Newton 引导我回答这个问题很简单。

<强> JSFiddle

$(document).ready(function() {
  $("#MyTable").on('sorted', function(){
    var lastRow = $("#MyTable").find("tbody tr:last");
      // Removing dropup class from the row which owned it
      $("#MyTable").find("tbody tr.dropup").removeClass("dropup");
      // Adding dropup class to the current last row
      lastRow.addClass("dropup");
  });
});

这很棒,简单,轻巧,也坚持链接的问题。谢谢戴夫!