【问题标题】:Uncaught type error (loading jQuery scripts)未捕获的类型错误(加载 jQuery 脚本)
【发布时间】:2014-05-12 10:09:39
【问题描述】:

美好的一天!我使用 jQuery Tablesorter 进行分页。我收到此错误

    Uncaught TypeError: undefined is not a function viewTags:24
    (anonymous function) viewTags:24
    fire jquery-1.10.2.js:3048
    self.fireWith jquery-1.10.2.js:3160
    jQuery.extend.ready jquery-1.10.2.js:433
    completed

在浏览器的控制台中。问题很大程度上是由于脚本的加载。这是代码

<link rel="stylesheet" href="/assets/stylesheets/style.css" type="text/css" />
<script type="text/javascript" src="//tablesorter.com/jquery-latest.js"></script>
<script type="text/javascript" src="/assets/javascripts/jquery.tablesorter.js"></script>
<script type="text/javascript" src="//tablesorter.com/addons/pager/jquery.tablesorter.pager.js"></script>   

<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>


请帮我解决这个问题。非常感谢!

【问题讨论】:

  • 请尝试删除动态表中的第 5 列,并在 thead 和 tbody 中尝试
  • 感谢 @KarthickKumarGanesh 我删除了 thead 和 tbody 中的第五列,但问题仍然存在。
  • 能否请您修改一下您的生成表输出
  • 这里的表格分页 jsfiddle.net/XZP6R/5 这就是我应该做的。谢谢。
  • 它在小提琴中工作正常

标签: javascript jquery pagination typeerror


【解决方案1】:

对此进行更新:

<link rel="stylesheet" href="/assets/stylesheets/style.css" type="text/css" />
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script type="text/javascript" src="/assets/javascripts/jquery.tablesorter.js"></script>
<script type="text/javascript" src="//tablesorter.com/addons/pager/jquery.tablesorter.pager.js"></script>   

<script>
   jQuery(function($) {
      var availableTags = @Html(Json.toJson(tagNames).toString); 
      $( "#tags" ).autocomplete({
            source: availableTags
      });

      $("table").tablesorter({widthFixed: true, widgets: ['zebra'] }) 
                .tablesorterPager({
                          container: $("#pager"),
                          size:5
      }); 
   }); 
</script>

你不需要有两个 jQuery 的 doc ready 块,一个就足够把这些函数放进去。此外,您还必须以这种方式对脚本进行堆栈顺序。
如果仍然存在问题,请尝试在检查器 (chrome) 的网络选项卡中检查,以查看是否某些库未正确加载。

【讨论】:

  • 谢谢我复制了你的答案,但错误仍然存​​在,不会分页
  • 如果任何库未正确加载,请检查网络选项卡。
  • 无加载错误。只是未捕获的类型异常。谢谢。
  • jQuery(function($) { 尝试更改此行。可能是 $ 不是你想的那样。
  • 谢谢,但我复制粘贴了您的编辑,上面写着ncaught TypeError: Cannot read property 'msie' of undefined
【解决方案2】:

您只需要包含一次 jQuery。目前你已经加载了两次,所以你可以删除:

<script type="text/javascript" src="//tablesorter.com/jquery-latest.js"></script>

之后,您需要在核心 jQuery 文件之后包含 tablesorter 插件,因为您的 jquery.tablesorter.js 需要 jQuery 才能工作:

<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script type="text/javascript" src="/assets/javascripts/jquery.tablesorter.js"></script>
<script type="text/javascript" src="//tablesorter.com/addons/pager/jquery.tablesorter.pager.js"></script>  

【讨论】:

  • 您是否像我在回答中建议的那样删除了第一个 jQuery 文件?记得按照上面的脚本顺序。
  • 是的,谢谢我复制粘贴,现在我有两行 css 和 4 行 js。但错误仍然存​​在。
【解决方案3】:

请查看此代码

<script type="text/javascript" src="/tablesorter.com/jquery-latest.js"></script>
<script type="text/javascript" src="/assets/javascripts/jquery.tablesorter.js"></script>
<script type="text/javascript" src="/tablesorter.com/addons/pager/jquery.tablesorter.pager.js"></script>



 $(document).ready(function() {
        $("#myTable").tablesorter({
            widthFixed : true,
            widgets : ['zebra'],
            headers : {
                0 : {
                    sorter : false
                },
                1 : {
                    sorter : false
                },
                2 : {
                    sorter : false
                },
                3 : {
                    sorter : false
                },
                4 : {
                    sorter : false
                }
            }
        }).tablesorterPager({
            container : $("#pager"),
            size : 5
        });
    });

请仅使用此代码,删除所有其他内容并尝试

【讨论】:

  • 谢谢,但在 tablesorter 行中仍然存在这个未捕获的类型错误。
  • 不幸的是,仍然没有。问题很可能是脚本加载。谢谢
  • 请给你整个页面的输出?
  • 输出和代码几乎是这样的jsfiddle.net/XZP6R/9,所以它对我的不起作用真的很令人困惑。
  • 请检查我上面的代码,请删除所有其他脚本,然后用您的表格在上面尝试一下,看看你得到了什么
猜你喜欢
  • 2017-03-30
  • 2015-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-03
  • 2012-12-11
相关资源
最近更新 更多