Jquery不同版本共用的解決方案(插件編寫)

發布時間:2018年08月10日      浏覽次數:519 次
最近在爲某公司做企業内部UI庫,經過研究分(fēn)析和評審,決定基于Jquery開(kāi)發,結合Bootstrap插件那簡潔,優雅,高效的思想進行插件編寫。

但是在編寫的過程中(zhōng)遇到一(yī)個頭疼的問題,就是正在編寫的插件是基于Jquery-1.9.1版本開(kāi)發的,而企業網站使用的是Jquery-1.6.2版本,這就會産生(shēng)版本兼容性的問題,如果用了高版本的開(kāi)發,整個網站很可能會癱瘓,但是沿用舊(jiù)版本的Jquery,就會缺少很多功能,開(kāi)發效率相對較低。幸好Jquery還有多庫共存的方案,那就是Jquery.noconfilct()功能了。看了Jquery的API和查閱了相關資(zī)料,都不符合我(wǒ)(wǒ)的實際需要,經過多次的調試之後,終于成功整合了這兩個版本

<script type="text/javascript" src="jquery-1.9.1.js"></script>
<script type="text/javascript" src="customize.js"></script>
<script type="text/javascript">
var _$ = jQuery.noConflict(true);
</script>
<script type="text/javascript" src="jquery-1.6.2.js"></script>
<script type="text/javascript">
//invoke Jquery.1.6.2
$("document").ready(function(){
alert("faf");
})
//invoke Jquery.1.9.1
_$("document").ready(function(){
alert("faf");
})
</script>
這裏隻是簡單的整合兩個版本,_$調用的是1.9.1版本的API,而$調用的是1.6.3的API.

通常我(wǒ)(wǒ)們都會基于某個版本寫插件,比如基于1.9.1的版本寫了個customize.js,這個文件必須放(fàng)在1.9.1.js引用之後, jQuery.noConflict(true)之前。這裏需要注意,customize.js裏面的插件編寫,還是必須用"$",這是因爲此時還沒有調用jQuery.noConflict函數,在調用完該函數後,需要用到自定義的插件或是1.9.1裏的函數庫,就必須用"_$"。如_$("#selector").company_button調用的就是自定義的插件。如調用$("#selector").company_button,就會出現無此函數的錯誤。
免責聲明:本站相關技術文章信息部分(fēn)來自網絡,目的主要是傳播更多信息,如果您認爲本站的某些信息侵犯了您的版權,請與我(wǒ)(wǒ)們聯系,我(wǒ)(wǒ)們會即時妥善的處理,謝謝合作!