簡體   English   中英

如何動態獲取jQuery noConflict()的引用

[英]How to get reference of jquery noConflict() dynamically

我們正在開發一個應用程序,它將在網站上提供實時聊天服務。

我們在網站中包含一個js文件。 我們已經使用了Snack.js框架來執行DOM操作(因為它很小並且足夠靈活以滿足我們的需求)。

問題是,如果站點包含jquery文件,則點心無法正常工作,並且它返回不相關的結果。 為了避免這種情況,如果網頁具有jquery,我們將使用jquery函數。 但是,當網站頁面具有多個jquery文件時,它們將使用noConflict()方法來避免版本沖突。 在這里,我們沒有獲取jquery的引用($和jquery在這里不起作用)以對DOM執行操作。

例如:

varflictjquery = jQuery.noConflict(); ---由網站開發人員完成。

如何獲得這個“ conflictjquery”變量到我的js作品?

如果可以的話,您能提出建議嗎?

提前致謝

如文檔所示: http : //api.jquery.com/jQuery.noConflict/

您必須這樣做:

var myJQuery = $.noConflict();

唯一的東西$.noConflict(); 確實釋放了全局$變量。 這意味着仍然可以通過jQuery變量使用該庫。

考慮以下示例:

<script src="jquery1.js"></script>
<script>$.noConflict();</script>
<script src="jquery2.js"></script>
<script>
    jQuery; //use jquery1
    $; //use jquery2
</script>

但是,如果$已經使用的頁面上的其他圖書館,你要加載在此之上,它不會工作的兩個不同的jQuery的版本。 在這種情況下,您需要將主要的jQuery名稱空間移到一個全新的對象中。

您可以這樣做:

var dom = {};

dom.query = jQuery.noConflict(true);

然后,您可以像這樣使用它:

dom.query(...);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM