【发布时间】:2012-01-24 21:32:43
【问题描述】:
我正在使用 JQuery 1.6 和我能找到的最新的 tablesorter (sorttable)。我有一页做一个
$("div#child_container").load(child_url);
“child_url”引用的页面中有一个排序表。
在 FireFox 8 中,这完全符合您的期望。我有一个嵌入在 div 中的可排序表。
在 FireFox 3.5 中,它不起作用。列标题不可点击。它们是纯文本。斑马造型也没有发生,最初的排序也没有。运行 FireBug 显示它加载了 child_url(它加载了数据表,因此已确认)并加载了 sorttable.js 文件。没有错误。任何警告都与 CSS 相关。
我可以在 FireFox 3.5 上加载 child_url,它会完全按照您的预期工作,所以这本身似乎不是一个表格排序器问题。执行 JQuery .load() 以包含使用 tablesorter 的页面似乎是一个问题。
我愿意接受有关如何进行的建议。除了说“抱歉,您的浏览器太旧而且损坏了。”
编辑:我已经切换到 jquery.tablesorter.js。同样的问题。
编辑:我修改了我的child_url 页面,使其不提供文档类型、头部等。它只提供了<table> 和一个<script> 块,它会调用$("#tablediv").tablesorter( ... )。我将 .js 文件加载提升到父页面。在 3.5 和 8.0 上,这种行为同样不正常。我在 .tablesorter() 调用时遇到了一个 JavaScript 错误,这是我以前从未遇到过的。
【问题讨论】:
-
鉴于您将新元素包含到文档中......也许 FF 3.5 不能处理多个文档类型和引入到主文档中的头部内容(我的猜测)。因此,您可以像 JQuery 文档所述执行 $("div#child_container").load("child_url #some_id_with_table_within"); 之类的操作,因此您只是在加载相关片段......另外,您需要在该片段中包含脚本和 css 调用。
-
听起来您正在使用来自 kryogenix.org 的 sorttable.js。您可以尝试从 tablesorter.com 切换到基于 jQuery 的 tablesorter.js。我们在 Firefox 3.6 上使用它。
-
Vik David -- 调整了我的代码以使用 jquery.tablesorter.js,如 tablesorter.com 上所示。同样的问题。显然,他们分享了这个问题。
-
使用 firebug 控制台再次手动触发 tablesorter 事件,AFTER 加载调用完成。如果可行,请将回调函数中的调用放入 $(load)。
-
Alfabravo -- 如果我理解正确,我对原始问题的第二次“编辑”应该等同于您的建议。
标签: jquery tablesorter firefox-3