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

首頁 > 編程 > JavaScript > 正文

jQuery中 $ 符號的沖突問題及解決方案

2019-11-19 19:03:39
字體:
來源:轉載
供稿:網友

在jQuery中,$是jQuery的別名,為了書寫方便,我們更習慣用$('#id')這一類的方式來書寫代碼。當同一頁面引用了jQuery多個版本或者jQuery與某些其他js庫產生沖突,控制臺就會報錯。

同一個頁面多個版本沖突解決辦法

你可能會問,為什么在一個頁面上會引用多個版本的jQuery,只引用一個不就好了嗎?

答案是:不行。一般要用到兩個(或以上)版本的jQuery庫的原因是:現有的網站已經用了舊版本的jQuery以及相關插件,直接將jQuery升級到新版本會導致這些基于舊版本jQuery的插件不能工作,除非你能把這些插件全部升級,或者等各個插件的作者發布支持新版本jQuery的插件版本?! ?/p>

解決辦法:使用jQuery.noConflict([extreme])方法。

比如我引用的是jquery-1.11.0.js和jquery-1.5.0.js。

<script src="jquery-1.5.0.js"></script><script src="jquery-1.11.0.js"></script><script>console.log($.fn.jquery); //'1.11.0'var $jq = jQuery.noConflict(true);console.log($.fn.jquery); //'1.5.0'</script>

可以看到jQuery.noConflict將變量 $ 的控制權讓渡給了1.5.0版本的jQuery庫。而要使用1.11.0的版本則要用 $jq() 代替。

但是引入了兩個版本的jQuery后,代碼很亂,導致別人難以理解甚至誤刪了一些重要代碼怎么辦?

改進的方法是:

先直接引用新版的jQuery庫。

<script src="jquery-1.11.0.js"></script><script src="myJS.js"></script>

把我們寫的腳本myJS.js中的主體內容寫在立即調用函數里頭,引用的是新的版本的jQuery。

//myJS.js(function() {//myJS.js的代碼,引用的是v1.11.0})();

再寫一個立即調用函數,把舊版本的jQuery代碼嵌進去(壓縮代碼只有幾行)。然后在里面寫代碼,此時變量$所引用的前面嵌進去的jQuery

//myJS.js(function () {//...此處省略/jquery1.5.0//jquery1.5.0的壓縮代碼  var $ = jQuery.noConflict(true);//此處開始寫的$()所引用的是jquery1.5.0})();

Ps:需要檢查jQuery的協議是否允許我們把jQuery源碼直接嵌入我們自己的JavaScript代碼

2. 同一頁面jQuery和其他js庫沖突解決方法

①依然可以使用jQuery.noConflict將變量$的控制權讓渡給其他js庫。

如果jQuery在其他js庫前,不需要使用noConflict?!?/p>

<!-- 引入 jquery庫 --><script src="jquery-1.11.0.js"></script><script type="text/javascript">var $jq = $;console.log($.fn.jquery); //'1.11.0'</script><!-- 引入 其他庫--><script type="text/javascript">$ = {fn:{jquery:"otherJS"}};</script><script type="text/javascript"> console.log($.fn.jquery); //otherJSconsole.log($jq.fn.jquery); //'1.11.0'</script>

如果在其他js庫之后,用noConflict讓渡。

<!-- 引入 其他庫--><script type="text/javascript">$ = {fn:{jquery:"otherJS"}};</script><!-- 引入 jquery庫 --><script src="jquery-1.11.0.js"></script><script type="text/javascript"> console.log($.fn.jquery); //'1.11.0'var $180 = $.noConflict(); //解除沖突console.log($.fn.jquery); //otherJSconsole.log($jq.fn.jquery); //'1.11.0'</script>

它的缺點是:在接下來的js代碼中只要引用到jQuery就必須把$換成$jq。

②ready函數是jquery的入口函數

可以將

$(document).ready(function() {...})

替換成:

jQuery(document).ready(function($) {...})

它的缺點是:只對ready嵌套內的代碼有效,如果ready函數外還有一些子函數,對嵌套外的代碼是無效的。

③把$作為參數傳進去

(function($) { //你的js代碼 })(jQuery);

或者

jQuery(function($){ //你的js代碼}

你的js代碼可以包括上面說到的ready函數和子函數。在用jQuery寫公共組件的時候,使用這種方式既能避免$沖突,又無需要求使用公共組件的人修改自己的代碼。

以上所述是小編給大家介紹的jQuery中 $ 符號的沖突問題及解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产女人18毛片水18精品| 欧美日韩午夜视频在线观看| 亚洲xxxx3d| 欧美久久精品午夜青青大伊人| 欧美激情视频在线免费观看 欧美视频免费一| 国产精品久久久久久久久久久不卡| 欧美激情亚洲视频| 日本精品免费一区二区三区| 欧美专区福利在线| 国产视频精品久久久| 国内精品免费午夜毛片| 国产精品嫩草影院久久久| 亚洲欧美一区二区三区四区| 亚洲成人在线网| 欧美区在线播放| 亚洲石原莉奈一区二区在线观看| 亚洲男女自偷自拍图片另类| 一本一本久久a久久精品综合小说| 国产精品久久999| 国产精品亚洲激情| 最近中文字幕mv在线一区二区三区四区| 日韩免费在线看| 91免费精品国偷自产在线| 日韩av大片免费看| 欧美激情影音先锋| 日韩精品中文字幕视频在线| 中文字幕一区日韩电影| 91成品人片a无限观看| 国产精品va在线播放我和闺蜜| 国产日韩综合一区二区性色av| 亚洲人成网7777777国产| 日本在线精品视频| 国产精品久久久久久久电影| 九九九久久久久久| 欧美专区第一页| 国产精品免费网站| 亚洲第一网站免费视频| 国产精品激情自拍| 一本色道久久综合狠狠躁篇的优点| 欧亚精品在线观看| 久久精品久久久久电影| 国内精品久久久久久中文字幕| 亚洲国产成人精品电影| 国产精品香蕉在线观看| 欧美性猛交xxxx免费看久久久| 亚洲国产精久久久久久久| 九九视频直播综合网| 日韩在线视频播放| 欧美色图在线视频| 国产精品第3页| 日韩电影免费在线观看| 91中文字幕在线| 久久韩国免费视频| 最新亚洲国产精品| 国产在线拍揄自揄视频不卡99| 亚洲小视频在线| 欧美精品在线免费| 国产精品欧美日韩| 美女精品视频一区| 日韩精品在线视频美女| 亚洲视频免费一区| 久久五月情影视| 国产精品久久久久久av| 午夜精品免费视频| 久久精品视频在线| 日韩成人av在线播放| 色妞色视频一区二区三区四区| 色妞色视频一区二区三区四区| 亚洲国产精品美女| 亚洲国产精彩中文乱码av在线播放| 亚洲国产高清高潮精品美女| 日韩成人性视频| 成人深夜直播免费观看| 在线播放亚洲激情| 亚洲一级一级97网| 色偷偷av亚洲男人的天堂| 久久中文精品视频| 国产亚洲欧美日韩精品| 日韩资源在线观看| 亚洲男人天堂古典| 欧美精品久久一区二区| 国产午夜精品视频免费不卡69堂| 欧美日韩激情美女| 美女撒尿一区二区三区| 欧美性做爰毛片| 亚洲天堂av综合网| 亚洲精品欧美极品| 久久久久久亚洲精品中文字幕| 日韩精品小视频| 日韩精品视频在线观看免费| 欧美色xxxx| 午夜精品久久久久久久白皮肤| 欧美在线日韩在线| 日韩av在线网址| 国产日韩欧美中文在线播放| 中文字幕av一区二区| 日韩电影中文 亚洲精品乱码| 91久久精品久久国产性色也91| 国产精品久久久999| 亚洲91精品在线观看| 69av成年福利视频| 欧美重口另类videos人妖| 97在线精品视频| 激情成人在线视频| 国产精品美女久久久久av超清| 久久九九有精品国产23| 久久天天躁狠狠躁夜夜躁| 精品久久久久久| 国产亚洲精品成人av久久ww| 亚州av一区二区| 欧美在线免费看| 欧美国产高跟鞋裸体秀xxxhd| 国产va免费精品高清在线| 国产精品久久77777| 久久久这里只有精品视频| 欧美大码xxxx| 亚洲成人久久一区| 日韩欧美国产免费播放| 国产精品久久久久久久电影| 欧美丝袜一区二区三区| 久久影院在线观看| 日韩精品视频中文在线观看| 成人在线中文字幕| 丁香五六月婷婷久久激情| 欧美性在线视频| 欧日韩不卡在线视频| zzijzzij亚洲日本成熟少妇| 性欧美长视频免费观看不卡| 中文字幕在线看视频国产欧美在线看完整| 亚洲毛片在线免费观看| 91精品国产高清自在线看超| 亚洲成色www8888| 精品欧美一区二区三区| 国产精品久久久久久久久久东京| 欧美电影在线观看高清| 国产精品video| 国产91九色视频| 日韩中文有码在线视频| 日本欧美一级片| 午夜精品久久久久久久男人的天堂| 国产精品久久久久久久久久免费| 欧美在线视频观看免费网站| 亚洲一级黄色av| 一区二区日韩精品| 亚洲国产婷婷香蕉久久久久久| 久久高清视频免费| 欧美激情国内偷拍| 亚洲乱码一区二区| 欧美日韩中国免费专区在线看| 欧美日韩黄色大片| 97av在线视频| 欧美区在线播放| 麻豆国产精品va在线观看不卡| 中文字幕日韩在线播放| 一夜七次郎国产精品亚洲| 热99精品只有里视频精品| 亚洲精品色婷婷福利天堂| 国产精品视频午夜| 2021国产精品视频| 国产成人自拍视频在线观看| 久久精品99久久久久久久久| 国产精品福利在线观看网址| 亚洲国产精品电影在线观看| 91色视频在线观看|