【问题标题】:Nivo Slider have javascript errorNivo Slider 有 javascript 错误
【发布时间】:2013-01-15 15:06:40
【问题描述】:

我正在构建一个使用 Nivo Slider 的网站。起初,它运作良好。但是昨天,当我再次尝试时,它突然停止移动。在我发现这个问题之前,我还没有改变任何东西。我查看了控制台,有一个 javascript 错误显示:

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

当我尝试查看 jquery.nivo.slider.js 时,错误出现在 $('a.nivo-prevNav', slider) 上,如下所示:

$('a.nivo-prevNav', slider).live('click', function(){
    // function's content
});

使用谷歌的检查元素功能,我搜索到页面并在那里找到。

这有什么问题?为什么它突然停止移动?任何帮助将不胜感激。

【问题讨论】:

    标签: javascript slider nivo-slider


    【解决方案1】:

    Nivo Slider 需要 jQuery 才能工作。在您的网站上,您像这样引用 jQuery

    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
    

    这是非常危险的,因为最新版本会不断变化。从 jQuery 文档中可以看出

    http://api.jquery.com/live/

    live 函数从 jQuery 1.7 开始被弃用。查看未缩小的 jQuery 源代码在

    http://code.jquery.com/jquery-latest.js

    该功能似乎不再存在,这就是您收到错误的原因。

    解决方案:将 jQuery 与特定版本绑定 - 或许您可以从 Nivo Slider 文档中找到您需要的版本。一些旧版本的 jQuery 可以在这里找到:http://jquery.com/download/

    【讨论】:

    • 非常感谢您的解决方案!!我不应该像那样提到最新的 jquery。我现在正在使用 jQuery 1.6,它可以工作。非常感谢!!
    【解决方案2】:

    在您使用的 jQuery 1.9 版中,live() 函数实际上已被弃用:http://api.jquery.com/live/

    我猜你可能要等 Nivo 更新他们的源来支持最新的 jQuery,你可以下到 jQuery 1.7,或者自己修改 Nivo 源。

    【讨论】:

      【解决方案3】:

      现在有一个新版本的 Nivo Slider (3.2) 使用 .on 而不是 .live。

      或者使用旧版本的 jQuery(1.7.1 对我们有用)

      【讨论】:

        【解决方案4】:

        在 nivo 滑块的 js 文件中将所有 .live() 替换为 .on() 对我有用。我的 jquery 是 1.9.1 版本。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-07-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多