【轉】jQuery庫與其他JS庫沖突的解決辦法
聲明:良心告訴我,我必須轉載這篇一年多以前的文章,因為,還會有很多人中招的。
現在的js庫很多,而且各有所長。像我,就比較喜歡jQuery,但同時也會使用一下其他的js庫,如YUI,DWR什么的。但是它們卻時不時地相互鬧些小矛盾,真是讓人頭痛。究其原因,原來是它們的全局對象定義沖突了,特別是變量”$”,幾乎百分之百要在這中招。怎么辦?呵呵,看我的!
重載$函數。使用jQuery.noConflict()就可以通過重載$函數,從而區分開跟其他js庫的重疊部分。例子如下:
記得要在載入完各js庫后才能用jQuery.noConflict()進行重載哦,如例子中的prototype和jquery。
當然我們也可以不使用其默認的名字空間,比如我喜歡使用 $j() 而不是 jQuery() 。
呵呵,很簡單吧。原文在這里。
現在的js庫很多,而且各有所長。像我,就比較喜歡jQuery,但同時也會使用一下其他的js庫,如YUI,DWR什么的。但是它們卻時不時地相互鬧些小矛盾,真是讓人頭痛。究其原因,原來是它們的全局對象定義沖突了,特別是變量”$”,幾乎百分之百要在這中招。怎么辦?呵呵,看我的!
重載$函數。使用jQuery.noConflict()就可以通過重載$函數,從而區分開跟其他js庫的重疊部分。例子如下:
- <script src="prototype.js"></script>
- <script src="jquery.js"></script>
- <script>
- jQuery.noConflict();
- // Use jQuery via jQuery(…)
- jQuery(document).ready(function(){
- jQuery(”div”).hide();
- });
- // Use Prototype with $(…), etc.
- $(’someid’).style.display = ‘none’;
- </script>
記得要在載入完各js庫后才能用jQuery.noConflict()進行重載哦,如例子中的prototype和jquery。
當然我們也可以不使用其默認的名字空間,比如我喜歡使用 $j() 而不是 jQuery() 。
- var $j = jQuery.noConflict();
- $j(document).ready(function(){
- $j(”div”).hide();
- });
呵呵,很簡單吧。原文在這里。
posted on 2009-05-04 20:51 xskow! 閱讀(387) 評論(0) 編輯 收藏 所屬分類: 前臺Html and JS腳本