[英]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(選擇器)
需要仔細考慮的一件事是腳本加載順序,並注意重復加載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.