[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...