jQuery 學習六 多庫共存

2021-08-23 13:53:39 字數 1835 閱讀 4063

[b][color=#345286] ● jquery.noconflict()[/color][/b]

/*** 執行這個函式將變數 $ 的控制權讓渡給第乙個實現它的那個庫。這有助於確保 jquery 不會與其他庫的 $ 對

* 象發生衝突。在執行這個函式後,就只能使用 jquery 變數訪問 jquery 物件。例如,在要用到 $("div p")

* 的地方,就必須換成 jquery("div p")。

* * 注意:這個函式必須在你匯入 jquery 檔案之後,並且在匯入另乙個導致衝突的庫之前使用。當然也應當在其他

* 衝突的庫被使用之前,除非 jquery 是最後乙個匯入的。

** @return jquery object

*/jquery.noconflict();

/** 例子一:將 $ 引用的物件對映回原始的物件。

*/jquery.noconflict();

// 使用 jquery

jquery("div p").hide();

// 使用其他庫的 $()

$("content").style.display = 'none';

/** 例子二:恢復使用別名 $,然後建立並執行乙個函式,在這個函式的作用域中仍然將 $ 作為 jquery 的別名來

* 使用。在這個函式中,原來的 $ 物件是無效的。這個函式對於大多數不依賴於其他庫的外掛程式都十分有效。

*/

jquery.noconflict();

(function($) );

})(jquery);

// 以下是其他使用 $ 作為別名的庫的**

var val = $f("someid"); // 這裡使用的是 prototype 的 $()

/** 例子三:建立乙個新的別名用以在接下來的庫中使用 jquery 物件。

*/// j 就是 jquery 新的別名

var j = jquery.noconflict();

// 基於 jquery 的**

j("div p").hide();

// 基於其他庫的 $() **

$("content").style.display = 'none';

[b][color=#345286] ● jquery.noconflict(extreme)[/color][/b]

/*** 將$和jquery的控制權都交還給原來的庫。用之前請考慮清楚!

** 這是相對於簡單的 noconflict 方法更極端的版本,因為這將完全重新定義jquery。這通常用於一種極端的情

* 況,比如你想要將 jquery 嵌入乙個高度衝突的環境。注意:呼叫此方法後極有可能導致外掛程式失效。

** @extreme(boolean) 傳入 true 來允許徹底將 jquery 變數還原

* @return jquery object

*/jquery.noconflict(extreme);

// 例子:完全將 jquery 移到乙個新的命名空間。

var dom = {};

dom.query = jquery.noconflict(true);

// 新 jquery 的**

dom.query("div p").hide();

// 另乙個庫 $() 的**

$("content").style.display = 'none';

// 另乙個版本 jquery 的**

jquery("div > p").hide();

jQuery 多庫共存

jquery使用 作為識別符號,隨著jquery的流行,其他js的庫也會用 作為識別符號,這樣就會引起衝突 需要乙個解決方案 讓jquery和其他的js庫不存在衝突,可以同時存在,這就叫多庫共存 1 把裡面的 符號統一改為jquery.比如jquery div 2 jquery變數規定新的名稱 no...

jQuery多庫共存處理

1.多庫共存也可以叫無衝突處理。2.總的來說會有兩種情況遇到 太 火熱,j quer y採用 作為命名空間,不免會與別的庫框架或者外掛程式相衝突。jquery版本更新太快,外掛程式跟不上,導致不同版本對外掛程式的支援度不一樣。出於以上的原因,jquery給出了解決方案 noconflict函式。引入...

八 jQuery 拷貝物件 多庫共存

如果想要把某個物件拷貝 合併 給另外乙個物件使用,此時可以使用 extend 方法 語法 extend deep target,object,objectn 注釋示例 function var obj extend target,obj extend targetobj,obj console.lo...