繁体   English   中英

我如何使用jQuery.noConflict();

[英]How do I use jQuery.noConflict();

在为我的网站安装灯箱后,我的评论停止了工作。 我看了一下代码,并将<head> (灯箱附带的)中的javascript链接移到了Wordpress-Buddypress附带的javascript链接上方。 在我来自Lightbox的JavaScript链接之前,是Wordpress随附的JavaScript链接下方。

进行切换后,评论在我的网站上再次开始起作用,但现在灯箱不起作用。

当我使用Firebug查找错误时,出现此错误。

$("#videogallery a[rel]").overlay is not a function

该代码来自“ videolightbox.js”,这是我的灯箱随附的文件。

我在这个问题上做了很多研究,我认为我可能需要使用jQuery.noConflict(); 但我不知道如何使用? 我在看这个链接

但我似乎无法使其正常工作,因为我不知道如何使用它。 我也尝试用jQuery()替换所有的$() ,但这并不能解决我的问题。

但我不知道如何使用?

var $j = jQuery.noConflict();

并且您的代码将从$(选择器)更改为$ j(选择器)

这里提供了许多示例http://api.jquery.com/jQuery.noConflict/

需要仔细考虑的一件事是脚本加载顺序,并注意重复加载JQuery。 在某些(希望很少)的情况下,您可以加载JQuery,设置一些使用它的代码,然后重新加载JQuery,从而丢弃第一次加载后设置的事件。

我知道我曾经遇到过这种情况,但是我不记得导致这种情况发生的细节。

对你的回答

$=jQuery.noConflict();

现在您可以使用$('#id')。css(...);

该错误可能导致其余代码未执行, .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之前。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM