为我的网站安装灯箱后,我的评论停止了工作。我查看了代码,并将<head>
中的javascript链接(与lightbox一起提供的链接)移到了Wordpress-Buddypress附带的javascript链接上方。之前我的Lightbox的JavaScript链接低于Wordpress附带的javascript链接。
进行切换后,评论在我的网站上重新开始工作,但现在灯箱无效。
当我使用Firebug查找错误时,我收到此错误。
$("#videogallery a[rel]").overlay is not a function
该代码来自“videolightbox.js”,这是我的灯箱附带的文件。
我对这个问题进行了大量的研究,我想我可能需要使用jQuery.noConflict();
,但我不知道如何使用它?我正在看这个link
但我似乎无法让它工作,因为我不知道如何使用它。我也尝试用$()
替换所有jQuery()
,但这并没有解决我的问题。
答案 0 :(得分:1)
但我不知道如何使用它?
var $j = jQuery.noConflict();
您的代码将从中更改 $(选择器)到$ j(选择器)
这里给出了很多例子 http://api.jquery.com/jQuery.noConflict/
答案 1 :(得分:0)
要仔细考虑的一件事是脚本加载顺序和观察重复加载JQuery。在某些(希望很少见的)情况下,您可以加载JQuery,设置一些使用它的代码,然后重新加载JQuery,它会丢弃第一次加载后设置的事件。
我知道我遇到过这种情况,但我无法记住导致它发生的细节。
答案 2 :(得分:0)
给你答案
$=jQuery.noConflict();
现在你可以使用$('#id')。css(...);
答案 3 :(得分:0)
错误可能导致其余代码未被执行,.overlay
不是函数意味着.overlay
不是函数且$
工作正常。
var test; test("#videogallery a[rel]").test()
//TypeError: test is not a function <-- You would see this if $ wasn't working
var test = function(){return {};};
test("#videogallery a[rel]").test();
//TypeError: test("#videogallery a[rel]").test is not a function <-- You see this because .overlay isn't working
它只是意味着您在.overlay
存在之前尝试调用它。