亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery中noConflict()用法實例分析

2019-11-20 13:12:20
字體:
來源:轉載
供稿:網友

本文實例講述了jQuery中noConflict()用法。分享給大家供大家參考。具體分析如下:

jQuery默認使用"$"操作符,$ 符號只是 window.jQuery 對象的一個引用,jQuery.noConflict() ,這個函數將變量$的控制權讓渡給第一個實現它的那個庫。這有助于確保jQuery不會與其他庫的$對象發生沖突。在運行這個函數后,就只能使用jQuery變量訪問jQuery對象。例如,在要用到$("div p")的地方,就必須換成jQuery("div p")。

一、"$"操作符

1、jQuery默認使用"$"操作符,prototype等其他框架也是是使用"$",于是,如果jQuery在其他庫之后引入,那么jQuery將獲得"$"使用權。這樣的情況也很容易理解,畢竟JS是從上到下流式執行的。

2、如果在其他使用"$"的庫之前引入jQuery,那么jQuery將不會占用"$"。

提示:在其他 JavaScript 庫為其函數使用 $ 時,該方法很有用。

我們在jquery中獲取變量都會使用到$,但是還有很多插件都是可以使用$這個符號了,如果我們同時要引用就會導致出現問題了,jquery為了防止這種事情發生就引入了noconflict()

二、jQuery.noConflict的定義
 
jQuery.noConflict 方法包含一個可選的布爾參數,用以決定移交 $ 引用的同時是否移交 jQuery 對象本身:

jQuery.noConflict([removeAll])

函數的說明:

缺省情況下,執行 noConflict 會將變量 $ 的控制權移交給第一個產生 $ 的庫;當 removeAll 設置為 true 時,執行 noConflict 則會將 $ 和 jQuery 對象本身的控制權全部移交給第一個產生他們的庫。
 
三、jQuery.noConflict源碼分析
 
jQuery 源碼開頭,首先做的一件事情是這樣的:

// Map over jQuery in case of overwrite_jQuery = window.jQuery,// Map over the $ in case of overwrite_$ = window.$,

容易理解的是,jQuery 通過兩個私有變量映射了 window 環境下的 jQuery 和 $ 兩個對象,以防止變量被強行覆蓋。一旦 noConflict 方法被調用,則通過 _jQuery, _$, jQuery, $ 四者之間的差異,來決定控制權的移交方式,具體的代碼如下:

noConflict: function( deep ) { if ( window.$ === jQuery ) { window.$ = _$; } if ( deep && window.jQuery === jQuery ) { window.jQuery = _jQuery; } return jQuery;}

再來看上面所說的參數設定問題,如果 deep 沒有設置,_$ 覆蓋 window.$,此時 jQuery 別名 $ 失效,但 jQuery 本身完好無損。如果有其他類庫或代碼重新定義了 $ 變量,它的控制權就完全交接出去了。反之如果 deep 設置為 true 的話,_jQuery 覆蓋 window.jQuery,此時 $ 和 jQuery 都將失效。
這種操作的好處是,不管是框架混用還是 jQuery 多版本共存這種高度沖突的執行環境,由于 noConflict 方法提供的移交機制,以及本身返回未被覆蓋的 jQuery 對象,完全能夠通過變量映射的方式解決沖突。

四、jQuery.noConflict實例
 
1、將 $ 引用的對象映射回原始的對象:

jQuery.noConflict();jQuery("div p").hide(); // 使用 jQuery$("content").style.display = "none"; // 使用其他庫的 $() 

2、恢復使用別名 $,然后創建并執行一個函數,在這個函數的作用域中仍然將 $ 作為 jQuery 的別名來使用。在這個函數中,原來的 $ 對象是無效的。這個函數對于大多數不依賴于其他庫的插件都十分有效:

jQuery.noConflict();(function($) {  $(function() {  // 使用 $ 作為 jQuery 別名的代碼 });})(jQuery);... // 其他用 $ 作為別名的庫的代碼

3、可以將 jQuery.noConflict() 與簡寫的 ready 結合,使代碼更緊湊:

jQuery.noConflict()(function(){  // 使用 jQuery 的代碼});... // 其他庫使用 $ 做別名的代碼

4、創建一個新的別名用以在接下來的庫中使用 jQuery 對象:

var j = jQuery.noConflict();j("div p").hide();  // 基于 jQuery 的代碼$("content").style.display = "none";// 基于其他庫的 $() 代碼

5、完全將 jQuery 移到一個新的命名空間:

var dom = {};dom.query = jQuery.noConflict(true);//結果:dom.query("div p").hide();  // 新 jQuery 的代碼$("content").style.display = "none";  // 另一個庫 $() 的代碼jQuery("div > p").hide();  // 另一個版本 jQuery 的代碼

希望本文所述對大家的jQuery程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91po在线观看91精品国产性色| 欧美精品在线免费播放| 欧美一级大片在线观看| 欧美xxxwww| 国产精品精品视频| 精品久久久久久亚洲精品| 亚洲日本成人女熟在线观看| 成人国产精品日本在线| 18一19gay欧美视频网站| 久久亚洲一区二区三区四区五区高| 国产不卡视频在线| 欧美激情一区二区三区高清视频| 91超碰caoporn97人人| 欧美猛少妇色xxxxx| 国产精品扒开腿做爽爽爽视频| 国产一区二区三区18| 亚洲午夜av久久乱码| 欧美极品少妇xxxxx| 成人在线中文字幕| 欧美激情在线一区| 国产精品久久久久久久久久久新郎| 欧美激情中文网| 久久不射电影网| 欧亚精品中文字幕| 亚洲男人第一网站| 国产欧美亚洲视频| 亚洲女人初尝黑人巨大| 欧美日韩国产精品一区| 日韩美女写真福利在线观看| 欧美一级淫片aaaaaaa视频| 欧美成在线视频| 中文字幕日韩在线播放| 日韩美女视频在线观看| 国产美女久久精品香蕉69| 精品成人在线视频| 在线观看成人黄色| 91免费精品视频| 国产精品嫩草视频| 亚洲九九九在线观看| 姬川优奈aav一区二区| 亚洲精品视频在线播放| 欧美成人免费全部观看天天性色| 狠狠躁夜夜躁人人爽超碰91| 97在线观看免费| 国产成人精品免费久久久久| 免费97视频在线精品国自产拍| 久热精品视频在线免费观看| 欧美在线一级va免费观看| 欧美日韩在线另类| 国产精品爽爽ⅴa在线观看| 欧美激情videos| 国产视频久久久| 亚洲精品一区二区三区不| 久久理论片午夜琪琪电影网| 国产精品2018| 亚洲男女自偷自拍图片另类| 色无极亚洲影院| 国产亚洲精品久久| 97精品国产97久久久久久| 欧美激情欧美激情| 国内精品伊人久久| 欧美日韩国产精品一区二区不卡中文| 国产精品久久久久免费a∨| 亚洲国产高清高潮精品美女| 久久久久久国产| 日韩精品中文字幕在线| 亚洲精选一区二区| 国产欧美在线看| 亚洲精品视频免费| 亚洲精品日韩激情在线电影| 欧美激情国产高清| 欧美激情成人在线视频| 欧美黑人巨大精品一区二区| 一本大道久久加勒比香蕉| 91精品视频在线播放| 亚洲日韩中文字幕| 亚洲国产成人爱av在线播放| 亚洲自拍偷拍色片视频| 久久69精品久久久久久久电影好| www.欧美精品| 欧美精品www在线观看| 欧美成人午夜激情在线| 中文字幕亚洲欧美一区二区三区| 午夜精品久久久久久久99热| 国产精品爱久久久久久久| 亚洲第一精品久久忘忧草社区| 中文字幕一区电影| 亚洲自拍偷拍色图| 亚洲欧洲xxxx| 欧美激情一二区| 欧美一区二区视频97| 国产精品狼人色视频一区| 亚洲精品中文字幕av| 国内精品久久久久久中文字幕| 欧美片一区二区三区| 日韩av在线免费播放| 精品国产拍在线观看| 欧美成人午夜免费视在线看片| 欧美情侣性视频| 欧美成人午夜视频| 一区二区三区回区在观看免费视频| 亚洲精品电影网在线观看| 久久精品久久久久久| 欧美国产日产韩国视频| 91色在线视频| 国产欧美中文字幕| 久久精品中文字幕| 亚洲**2019国产| 欧美中文字幕视频在线观看| 4438全国亚洲精品在线观看视频| 国产91成人video| 一级做a爰片久久毛片美女图片| 亚洲一区二区久久久久久久| 色爱精品视频一区| 亚洲国产日韩欧美综合久久| 97精品欧美一区二区三区| 亚洲精品电影久久久| 国产精品免费视频xxxx| 亚洲国产成人久久综合一区| 国产大片精品免费永久看nba| 色在人av网站天堂精品| 久久成人一区二区| 欧美福利视频在线观看| 91影视免费在线观看| 久久精品成人动漫| 国产一区二区色| 国产精品av在线| 成人在线视频网| 久久婷婷国产麻豆91天堂| 国产在线日韩在线| 成人久久一区二区三区| 欧美色图在线视频| 久久天天躁狠狠躁夜夜爽蜜月| 日韩精品一二三四区| 91美女高潮出水| 国产精品欧美亚洲777777| 欧美激情免费视频| 亚洲a∨日韩av高清在线观看| 日韩高清电影好看的电视剧电影| 精品国偷自产在线视频| 91干在线观看| 日韩中文在线中文网三级| 亚洲天堂精品在线| 爱福利视频一区| 久久福利网址导航| 丝袜一区二区三区| 一本一本久久a久久精品牛牛影视| 国产精品视频中文字幕91| 97成人精品区在线播放| 91色精品视频在线| 97欧美精品一区二区三区| 91免费精品视频| 国产精品激情av电影在线观看| 亚洲国产成人爱av在线播放| 国产成人精品久久二区二区| 久久中文字幕视频| 国产视频999| 欧美日本啪啪无遮挡网站| 久久久国产精品亚洲一区| 国产精品mp4| 欧美日本亚洲视频| 国产成人免费av电影| 亚洲福利在线看| 国产精品久久久久久久久久久不卡|