我不确定这里发生了什么,我有点困惑。
这是我目前正在处理的页面: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
。
我是如何解决这个问题的?
答案 0 :(得分:1)
如果你包含jQuery,然后是一些插件(例如fancyBox),然后是另一个jQuery,那么之前加载的所有插件都将丢失。
编辑。我检查了你的页面,发现了
实际的错误讯息是 - TypeError: $ is not a function
这是因为你的jQuery运行到“noConflict”模式。出于某些原因,jQuery文件的最后一行是 - jQuery.noConflict();
因此,您必须使用jQuery
代替$
或删除jQuery.noConflict();
行。