【问题标题】:Uncaught TypeError: Object [object Object] has no method 'bxSlider'未捕获的类型错误:对象 [object Object] 没有方法“bxSlider”
【发布时间】:2013-10-07 18:13:21
【问题描述】:

我在控制台中收到此错误。

Uncaught TypeError: Object [object Object] has no method 'bxSlider'

我不知道为什么会这样。我让所有这些工作完美,但是当我将它放入 NetSuite 商店时它停止工作。

这是在 NoConflict 中运行 jQuery,我不需要在插件中将所有“$”更改为 jQuery,对吗?

这是我调用 jQuery、插件和它的脚本的地方。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">jQuery.noConflict();</script>
<script type="text/javascript" src="/site/js/modernizr.custom.93936.js"></script>
<script src="/site/js/jquery.bxslider.js"></script>
<script>
jQuery(document).ready(function(){
  jQuery('.bxslider').bxSlider({
  auto: true,
  controls: false   
});

});
</script>

这是整个控制台错误。

Uncaught TypeError: Object [object Object] has no method 'bxSlider' dtv:57 (匿名函数)dtv:57 n jquery.min.js:2 o.fireWith jquery.min.js:2 e.extend.ready jquery.min.js:2 c.addEventListener.B

这可能是什么原因让我如此迷失,一直在尝试我所知道的每一件小事,但没有任何事情让它发挥作用。

【问题讨论】:

  • 确保您的 bxslider js 文件路径正确且已加载..
  • 我知道路径是正确的,因为我可以通过查看源代码来打开它。我如何确保它已加载?我认为问题在于它没有加载 bxslider.js
  • 鉴于您正在使用的代码,有三种可能的方法来获取此错误:第一种是覆盖jQuery(您提供的代码中没有发生这种情况),第二种是文件路径错误,第三个是插件内部发生错误(您可以在控制台中看到)
  • 感谢@KevinB 我发现在页脚中调用了 jQuery。我想这就是我与团队合作的结果。一定有人在底部添加了它。 Ugggh 感谢您让我寻找它。

标签: javascript jquery jquery-plugins


【解决方案1】:

可能是因为 jquery 冲突。 请重新检查您的代码,可能是您添加了两次 jquery。或者更换最新的jquery。

【讨论】:

    【解决方案2】:

    这可能是因为 jquery 冲突,建议检查您的代码(使用您最喜欢的浏览器的控制台或开发人员工具进行实例化)以确保 jquery 被加载了两次。

    您还应该检查 bxSlider 的 js 文件是否正在控制台中加载,因为它的路径可能存在拼写错误。

    另一个可能导致此问题的原因是脚本的加载顺序。如果 bxSlider 在 jquery 之前加载,它会给出这个错误。您可以通过查看页面的源代码或查看开发人员工具中的网络选项卡来检查这一点。

    【讨论】:

      【解决方案3】:

      如果您没有抽过资产,这也是一个问题。

      rake assets:clean && rake assets:precompile
      

      【讨论】:

        【解决方案4】:

        我发现把

        jQuery(document).ready(function(){
          jQuery('.bxslider').bxSlider({
          auto: true,
          controls: false   
        });
        
        })
        

        在文件中(settings.js,在检测错误位置方面也更有效,而且显然更受 WordPress 欢迎。

        【讨论】:

          【解决方案5】:

          我在声明函数时省略了大括号 ()。

          不正确的代码:

          var calcResults = (function () {
          .....
          });
          

          正确代码:

          var calcResults = (function () {
          .....
          })();   //<<--  these () were missing
          

          【讨论】:

            猜你喜欢
            • 2014-01-08
            • 2013-04-19
            • 2012-12-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多