欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery避免$符和其他JS庫沖突的方法對比

 更新時間:2014年02月20日 09:29:56   作者:  
jQuery中需要用到$符號,如果其他js庫也定義了$符號,那么就會造成沖突,會影響到j(luò)s代碼的正常執(zhí)行,下面有幾個不錯的解決方法,大家可以參考下
jQuery中需要用到$符號,如果其他js庫(例如大名鼎鼎的prototype)也定義了$符號,那么就會造成沖突,會影響到j(luò)s代碼的正常執(zhí)行。jqeury提供了一些方案來避免這個問題,讓我們來看看這幾個方案有什么區(qū)別

方案1:
引入noConflict(),將$替換為其他符號
復(fù)制代碼 代碼如下:

var $j = jQuery.noConflict();
$j(document).ready(function(){
$j("#btn1").click(function(){
alert("Text: " + $j("#test").text());
});
});

缺點:引入了這段代碼后,不僅是當(dāng)前的js文件,該html引用的所有js中,如果有用到j(luò)query中的$,都得用$j來代替之前的$

方案2:
ready函數(shù)是jquery的入口函數(shù),可以
將$(document).ready(function(){
替換成
jQuery( document ).ready(function( $){}
缺點:只對ready嵌套內(nèi)的代碼有效,對嵌套外的代碼是無效的。如果你所有的邏輯,都在寫ready函數(shù)中,那沒問題。但我們一般都會在ready函數(shù)之外寫一些子函數(shù),然后ready函數(shù)再去調(diào)用這些函數(shù)。這個方案對這些函數(shù)是無效的,因此這套方案有局限性。

方案3(推薦,特別是開發(fā)js插件時):

給js內(nèi)容包上一個函數(shù)
復(fù)制代碼 代碼如下:

jQuery(function($){
//你的js代碼放在這里(例如第二個方案提到的ready函數(shù)和子函數(shù))
//如果是js文件,其實就是在文件頭部和尾部各加一行代碼
}

或者
復(fù)制代碼 代碼如下:

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

這個方法,沒有上面兩個方案的缺點,只會影響到被包在jQuery(function($){}中的代碼。
不會影響到其他js代碼,這一點很重要。試想一下,假如你寫了一個js公共組件,該組件需要用到j(luò)query,為了提高魯棒性,需考慮$符號沖突問題。如果使用方案1,那么別人在使用時,還得遵守你的約定,把自己js代碼中的$改成$,而如果使用方案3,既能避免$沖突對該組件的影響,又無需要求使用公共組件的人修改自己的代碼。

相關(guān)文章

  • Jquery 擴展方法

    Jquery 擴展方法

    好久沒有溫習(xí)JS了。 最近看到VS2010把Jquery作為JS標準庫納入了Web項目里,再不會用Jquery,真怕自己“OUT”了。
    2010-05-05
  • jQuery實現(xiàn)每隔一段時間自動更換樣式的方法分析

    jQuery實現(xiàn)每隔一段時間自動更換樣式的方法分析

    這篇文章主要介紹了jQuery實現(xiàn)每隔一段時間自動更換樣式的方法,結(jié)合實例形式較為詳細的分析了jQuery結(jié)合時間函數(shù)動態(tài)修改頁面元素屬性相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • jQuery實現(xiàn)簡單的回到頂部totop功能示例

    jQuery實現(xiàn)簡單的回到頂部totop功能示例

    這篇文章主要介紹了jQuery實現(xiàn)簡單的回到頂部totop功能,涉及jQuery事件響應(yīng)及頁面元素屬性動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-10-10
  • jQuery-ui插件sortable實現(xiàn)自由拖動排序

    jQuery-ui插件sortable實現(xiàn)自由拖動排序

    這篇文章主要為大家詳細介紹了jQuery-ui插件sortable實現(xiàn)自由拖動排序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • jQuery實現(xiàn)垂直半透明手風(fēng)琴特效代碼分享

    jQuery實現(xiàn)垂直半透明手風(fēng)琴特效代碼分享

    這是一款jquery hover抽屜式導(dǎo)航圖片展開收縮切換特效代碼,用戶還可以自定義對應(yīng)幻燈片的標題與文字說明,是一款非常實用的幻燈片特效源碼。
    2015-08-08
  • jQuery之按鈕組件的深入解析

    jQuery之按鈕組件的深入解析

    本篇文章是對jQuery中的按鈕組件進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • layui表格實現(xiàn)代碼

    layui表格實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了layui表格效果的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • jQuery 動態(tài)云標簽插件

    jQuery 動態(tài)云標簽插件

    這里推薦給大家一款jquery動態(tài)云標簽的插件,非常的炫,在指定塊級元素內(nèi)動態(tài)生成a標簽,a標簽的高度、寬度、位置、層數(shù)、背景顏色隨機可控,a標簽漸隱顯示和漸隱消失,可改變初始化的透明度,鼠標懸浮停止動畫且透明度最大,層數(shù)最高,鼠標離開,恢復(fù)之前狀態(tài)
    2014-11-11
  • jQuery的ajax中使用FormData實現(xiàn)頁面無刷新上傳功能

    jQuery的ajax中使用FormData實現(xiàn)頁面無刷新上傳功能

    這篇主要寫如何利用ajax和FormData實現(xiàn)頁面無刷新的文件上傳效果,主要用到了jQuery的ajax()方法和XMLHttpRequest Level 2的FormData接口。需要的的朋友參考下本文
    2017-01-01
  • JQuery獲取各種寬度、高度(format函數(shù))實例

    JQuery獲取各種寬度、高度(format函數(shù))實例

    本例除了使用標準的JQuery類庫外,還添加了自定義的函數(shù)來進行字符串的format操作。
    2013-03-03

最新評論