0

我在让 tablesorter 使用以下代码正常工作时遇到问题:

el = this.view.render().el;
$("#players").html(el);
$("#players-table").tablesorter({
  theme: 'blue'
}); 

表格排序器样式可以很好地应用,但没有任何列会排序。

但是,如果我在第 3 行的 firebug 中设置断点,等到表格呈现然后继续,它工作正常。

根据 .html() jQuery 文档,.html() 是一个同步调用。这不应该意味着设置断点和“等待”不应该有效果吗?有什么我想念的吗?

4

2 回答 2

1

原来问题是我忘记了正在获取的集合是异步的。因此,虽然这段代码实际上是正确的,但它是在集合(传递给视图)被填充之前运行的。

所以断点起作用的原因是它给了收集时间来填充和渲染,然后再通过表格和表格排序。

于 2012-11-29T15:11:11.617 回答
0

如果没有更多上下文,我最好的解决这个问题的客人是专门针对 jquery 元素$el而不是el.

$("#players").html(this.view.render().el);
this.view.$el.tablesorter({
     theme: 'blue'
});
于 2012-11-29T06:20:24.440 回答