簡體   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