【发布时间】:2015-12-10 16:38:58
【问题描述】:
我正在尝试了解如何确保我的代码在外部 JS 文件完成运行后运行。
如果您需要特定的实现,可以查看我试图帮助回答的这个 SO 问题:How to get the last table row no matter the sort?
TDLR:bootstrap-sortable.js 中的脚本运行表格排序。此表排序完成后;我想这样做,以便我可以运行一个 sn-p,它将一个简单的 CSS 类添加到新排序表中的最后一个元素。通过这个 JQuery sn-p 可以轻松实现类的添加:
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");
}
我想知道:
- 是否可以在外部脚本运行完成后运行我的脚本?
- 如果不是,您能解释一下原因吗?
- 我已经在考虑修改 bootstrap-sortable.js 以将我的脚本添加到其中,这是最好的推荐方法吗?
奖金回合!(仅当您觉得需要挑战时)。
除了使用 bootstrap-sortable.js 对链接的问题进行排序之外,还有更好的、自己动手的解决方案吗?
谢谢大家!
【问题讨论】:
-
活动
$this.trigger('sorted')不是你想要的吗? -
您是否有理由要使用 js 脚本而不仅仅是表格中最后一行的 CSS 选择器?表 tr:last-of-type { ... } ?
-
@DaveNewton 可能,我不确定您的 sn-p 是如何工作的,所以如果您认为这是正确的方法,请随时扩展答案
-
@beauXjames 只是因为它需要在表格完成排序后发生。如果可以通过 CSS 识别它,那么这将是一种更简单的方法。
-
@AGE 这是排序完成时在引导排序代码中触发的事件。
标签: javascript jquery twitter-bootstrap jquery-ui