多个jQuery包括导致fancybox破坏?

时间:2012-11-06 08:30:24

标签: jquery wordpress include fancybox multiple-instances

我不确定这里发生了什么,我有点困惑。

这是我目前正在处理的页面:http://tinyurl.com/a8yuzdt

当你去页面时,一切正常,对吧?所有脚本运行良好!除了fancybox jquery插件,它给了我错误:

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

看来它出于某种原因没有加载。我不知道为什么。我试着检查jQuery是否正确加载(也许在jquery之前包含了fancybox脚本),并且发现我在每次加载时都包含两个 jquery实例。第二个包括来自wordpress,我认为它自动包含jQuery。

问题是,如果我删除自己的jquery包含,没有任何作用!如果我在控制台中运行$,我会得到undefined。如果我运行jQuery我得到这个:

function (a,b){return new e.fn.init(a,b,h)}

所以我猜......它有点工作,但只有当我使用jQuery代替$时?请自行检查,转到该页面并在源代码中搜索jquery

我是如何解决这个问题的?

1 个答案:

答案 0 :(得分:1)

如果你包含jQuery,然后是一些插件(例如fancyBox),然后是另一个jQuery,那么之前加载的所有插件都将丢失。

编辑。我检查了你的页面,发现了

  1. 实际的错误讯息是 - TypeError: $ is not a function

  2. 这是因为你的jQuery运行到“noConflict”模式。出于某些原因,jQuery文件的最后一行是 - jQuery.noConflict();

  3. 因此,您必须使用jQuery代替$或删除jQuery.noConflict();行。