首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firefox3.5上的JQuery和tablesorter

Firefox3.5上的JQuery和tablesorter
EN

Stack Overflow用户
提问于 2011-12-21 08:07:08
回答 1查看 510关注 0票数 1

我使用的是JQuery 1.6和我能找到的最新的表排序程序(可排序的)。我有一个页面,它做一个

$("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错误,这是我以前从未遇到过的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-23 04:34:02

首先,如果有什么方法可以信任Alfabravo,我会这么做的。虽然他的评论没有完全解决问题,但它让我走上了正确的道路。

我剥离了child_url页面,使其只提供了一个<table>。我将jquery.tablesorter.js拉到了父页面。我需要父页面来执行表上的.tablesorter()

代码语言:javascript
复制
$("div#pending").load(
    "pending.jsp", 
    function() {
        $("table#pending_records").tablesorter( {
            sortList: [[4, 0]],
            widgets: ["zebra"]
        } );
    } 
);

JQuery.load()允许您指定要加载的URL,以及在完全加载时要执行的回调。这就是克服我第二次编辑中提到的Javascript错误所需的秘诀。

另外,我实际上使用jquery.ui.tabs.js在两个不同的选项卡中加载了两个可排序的表。第二个标签也不起作用。这是因为如果它在一个display: none块中,sorttable就不能工作。当页面加载时:

  • 第一个选项卡的内容是可见的,所以它正确地呈现了
  • 第二个选项卡的内容是隐藏的,所以它正在加载内容,但是.sorttable()没有执行,所以它没有正确地呈现

我能够使用JQuery.load()文档页面上提到的黑客来解决这个问题。基本上,调整样式表,而不是:

代码语言:javascript
复制
.ui-tabs .ui-tabs-hide { display: none; }

它有:

代码语言:javascript
复制
.ui-tabs .ui-tabs-hide { position: absolute; left: -10000px; }

由于包含内容的框架正在“显示”(尽管不在屏幕上),.sorttable()的工作方式与您预期的一样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8583599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档