$.noConflict()說明:
許多 JavaScript 庫使用 $ 作為函數或變量名,jQuery 也一樣。在 jQuery 中,$ 僅僅是 jQuery 的別名,因此即使不使用 $ 也能保證所有功能性。假如我們需要使用 jQuery 之外的另一 JavaScript 庫,我們可以通過調用 $.noConflict() 向該庫返回控制權:
<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
? $.noConflict();
? // 使用另一個庫的 $ 的代碼
</script>
可以與 .ready() 方法結合起來使用,來為 jQuery 對象起別名,這項技術非常有效:
<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
? $.noConflict();
? jQuery(document).ready(function($) {
? ? // 使用 jQuery $ 的代碼
? });
? // 使用其他庫的 $ 的代碼
</script>
將 $ 引用的對象映射回原始的對象:
jQuery.noConflict();
jQuery("div p").hide();? ? // 使用 jQuery
$("content").style.display = "none";? ? // 使用其他庫的 $()
恢復使用別名 $,然后創(chuàng)建并執(zhí)行一個函數,在這個函數的作用域中仍然將 $ 作為 jQuery 的別名來使用。在這個函數中,原來的 $ 對象是無效的。這個函數對于大多數不依賴于其他庫的插件都十分有效:
jQuery.noConflict();
(function($) {
? $(function() {
? ? // 使用 $ 作為 jQuery 別名的代碼
? });
})(jQuery);
可以將 jQuery.noConflict() 與簡寫的 ready 結合,使代碼更緊湊:
jQuery.noConflict()(function(){
? ? // 使用 jQuery 的代碼
});