【问题标题】:Uncaught TypeError: Object [object Object] has no method 'cycle'未捕获的类型错误:对象 [对象对象] 没有方法“循环”
【发布时间】:2013-05-24 13:40:44
【问题描述】:

我使用 primefaces ImageSwitch 来图像幻灯片放映。它可以正常工作。但是我将 jquery 库引用到页面,我得到与标题相同的错误。

我找到了解决方案:我找到了这个库:https://raw.github.com/malsup/cycle/master/jquery.cycle.all.js

我将此库添加到可能页面,并且 ImageSwitch 现在正在工作。

我的问题是为什么?为什么如果我添加 Jquery 会出现此错误?为什么如果我添加循环库,然后幻灯片再次工作?有没有其他解决方案?

有什么建议吗?

谢谢...

【问题讨论】:

  • ...I refrence jquery library to page...是什么意思? Primefaces 还使用循环插件,当然还有 jquery。当您(再次)将 jquery 添加到您的页面时,您最终将拥有两次 jquery,我猜您的“引用”jquery(它无法访问 primefaces 的循环插件)会以某种方式被使用并因此而失败。你是在问这到底是哪里失败了?
  • @Jens,我想知道这个。你的意思是,primefaces 已经有 Jquery 库,对吧?不需要将 JQuery 库作为外部添加到页面吗?
  • 是的,jquery 已经自带了 primefaces,你不必再添加了。
  • 我编辑了来自@Joe 的答案,还包括了 primefaces 已经随 jquery 提供的信息。那你应该接受他的回答。 :)
  • 好行为 :) 你说得对...

标签: jquery primefaces cycle


【解决方案1】:

那是因为当您没有将其包含在页面上时,它会尝试调用 $('#element').cycle();。如果您指的是:http://www.primefaces.org/showcase/ui/imageSwitch.jsf,那么您可以看到它们包含一个名为 imageswitch.js.jsf 的文件,其中包含 jQuery Cycle 插件。

$.cycle() 没有内置在 jQuery 中,因此需要一个外部库来启用此功能。

【讨论】:

  • 不,没有冲突。没有插件,函数.cycle() 就不存在了。如果您不包含 jQuery Cycle 插件,那么您正在调用一个不可用的函数,因此会出现 Uncaught TypeError 消息。
  • 我的意思是如果没有jquery,那么jsf怎么知道循环方法?
  • 不能。在 primefaces 页面上,他们包含以下文件:http://www.primefaces.org/showcase/javax.faces.resource/jquery/jquery.js.jsf?ln=primefaces,这是 jQuery 库。需要 jQuery。
  • 对不起,我是 PF 的新手。所以,我无法理解。如果我不添加 jquery,我可以使用 jquery 方法吗?因为你说,PF已经引用了它
  • @Joe 不,Primefaces 已经带有 jquery。如果他将 primeface jar 添加到他的项目中,primefaces 将自动将 jquery 包含到 html 页面中。
【解决方案2】:

检查“sites\all\libraries\”文件夹中的“jquery.cycle”目录。 如果您没有,则在该文件夹中创建目录,如下所示:

"libraries\jquery.cycle\"

然后在里面添加两个jquery文件:

jquery.cycle.all.js
jquery.cycle.all.min.js

这对我有用。

【讨论】:

    【解决方案3】:

    cycle 不是jQuery 函数。它由jQuery cycle plugin 添加。因此普通的jQuery 不知道这个方法。

    【讨论】:

      猜你喜欢
      • 2012-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-12
      相关资源
      最近更新 更多