[英]Handling jQuery.noConflict
我繼承了這樣開始的腳本:
var $j = jQuery.noConflict();
但是我不知道為什么要這么做。 我了解我們正在嘗試解決沖突,但是如何找到要解決的沖突呢?
如果我們找不到實際的沖突,我們計划恢復為$
而不是$j
並查看是否出現任何沖突。
根據jQuery文檔
就像jQuery一樣,許多JavaScript庫都將$用作函數或變量名。 在jQuery的情況下,$只是jQuery的別名,因此無需使用$即可使用所有功能。 如果您需要在jQuery旁邊使用另一個JavaScript庫,請通過調用$ .noConflict()將$的控制權返回到另一個庫。 $的舊引用在jQuery初始化期間保存; noConflict()只是還原它們。
如果由於某些原因加載了兩個版本的jQuery(不建議這樣做),則從第二個版本調用$ .noConflict(true)將使全局范圍內的jQuery變量返回第一個版本的jQuery變量。
這是文檔的另一個鏈接 ,可以很好地解釋
簡單來說
var $j = jQuery.noConflict();
之后,我們進入無沖突模式,因此我們現在可以使用$ j代替$或jQuery,並且該代碼不會與使用$或jQuery的早期版本的Jquery或庫沖突
我們使用Jquery.noConflict
是,當還有其他使用“ $
”作為選擇器/函數/變量的javascript庫時。 如果您需要查找發生沖突的確切位置,則只需運行代碼而無需聲明Jquery.noConflict,並檢查是否出現了例外結果以及“開發人員”選項卡的控制台窗口。
$
是用於jQuery
的別名。 如果在您的應用程序中有時會出現將$
用於其他用途的情況,那么您需要使用其他一些非沖突變量來防止沖突。
同樣,還有另一種情況,當您的應用程序或應用程序中的模塊中使用了多個版本的jQuery
,將導致沖突。 因此,您需要通過使用jQuery.noConflict();
來避免沖突jQuery.noConflict();
。
您可以在jQuery.noConflict上閱讀有關它的更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.