聲明:良心告訴我,我必須轉載這篇一年多以前的文章,因為,還會有很多人中招的。
現在的js庫很多,而且各有所長。像我,就比較喜歡
jQuery,但同時也會使用一下其他的js庫,如YUI,DWR什么的。但是它們卻時不時地相互鬧些小矛盾,真是讓人頭痛。究其原因,原來是它們的全局對象定義沖突了,特別是變量”$”,幾乎百分之百要在這中招。怎么辦?呵呵,看我的!
重載$函數。使用
jQuery.noConflict()就可以通過重載$函數,從而區分開跟其他js庫的重疊部分。例子如下:
- <script src="prototype.js"></script>
- <script src="jquery.js"></script>
- <script>
- jQuery.noConflict();
-
-
- jQuery(document).ready(function(){
- jQuery(”div”).hide();
- });
-
-
- $(’someid’).style.display = ‘none’;
- </script>
<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();
- });
var $j = jQuery.noConflict();
$j(document).ready(function(){
$j(”div”).hide();
});
呵呵,很簡單吧。原文在
這里。