【问题标题】:jQuery Tablesorter with jQuery 2.x带有 jQ​​uery 2.x 的 jQuery Tablesorter
【发布时间】:2015-05-30 00:36:21
【问题描述】:

如果我为 jQuery Tablesorter 使用任何简单的示例并在本地运行它,它就可以正常工作。如果我将 jquery-latest 的本地链接替换为 jquery 2.1.3 的 cdn 链接,就好像 jQuery 尚未加载一样。你所要做的就是将这个“<script type="text/javascript" src="./js/jquery-latest.js"></script>”中的src替换为
"cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js",就像没有加载jQuery一样。例如,在 Tablesorter 的“pager”演示代码中:tablesorter.com/docs/example-pager.html

我是否遗漏了一些愚蠢、明显和令人尴尬的东西,还是 Tablesorter 不能与最新的 jQuery 一起使用,或者...?

【问题讨论】:

  • 请提供一些示例代码;这样更容易排除故障
  • 我是新来这里发帖的。当我试图将代码复制到文本区域时,它会编辑掉任何看起来像 html 的内容。
  • 如果要粘贴代码,可以按空格键 4 次,或者选择整个代码块然后使用 ctrl-K
  • 谢谢你,诺米斯特。您所要做的就是将这个 中的 src 替换为这个 "cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js",它就像 jQuery未加载。例如,在 Tablesorter 的“pager”演示代码中:tablesorter.com/docs/example-pager.html

标签: jquery tablesorter


【解决方案1】:

如果您查看开发控制台(按 F12),您会看到一个 javascript 错误 - 在 this demo 中尝试一下

未捕获的类型错误:无法读取未定义的属性“msie”

此错误仅在使用 jQuery v1.9+ 时出现。这是因为寻呼机代码使用插件的内部 clearTableBody 函数来检查 IE 的 jQuery.browser,并且因为该函数在 jQuery v1.9+ 中被完全删除,所以会发生 javascript 错误。

所以你有三个选择。

  1. 切换到始终使用低于 v1.9 的 jQuery。
  2. Modify the core plugin 并替换此代码:

    this.clearTableBody = function (table) {
        if ($.browser.msie) {
            while (table.tBodies[0].firstChild) {
                table.tBodies[0].removeChild(table.tBodies[0].firstChild);
            }
        } else {
            table.tBodies[0].innerHTML = "";
        }
    };
    

    有了这个

    this.clearTableBody = function (table) {
        $( table.tBodies[0] ).empty();
    };
    
  3. 或者,试试我的fork of tablesorter,它不使用jQuery.browser,并且有很多增强功能、有用的小部件和解析器。遗憾的是,大多数小部件与原始表格排序器不兼容。

【讨论】:

  • 哇。感谢您花这么多时间帮助新手。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-29
  • 1970-01-01
相关资源
最近更新 更多