文檔說你可以用$ .noConflict()這樣的:jQuery的noConflict:只是快速的想法
jQuery.noConflict();
(function($) {
$(function() {
// more code using $ as alias to jQuery
});
})(jQuery);
// other code using $ as an alias to the other library
報告還指出,在調用它返回的jQuery對象的一個實例,因此我可以這樣做:
jQuery.noConflict()(function(){
// code using jQuery
});
// other code using $ as an alias to the other library
但是,這種組合是否有效?
(function($) {
$(function() {
// more code using $ as alias to jQuery
});
})(jQuery.noConflict());
// other code using $ as an alias to the other library
如果是這樣,是否有理由不這樣做?還有(如果有效的話),爲什麼不總是使用這個方法來保證在我們的閉包內部$ == jQuery?
我看到的唯一缺點是,如果你有多個這樣的塊,你會不必要地調用'jQuery.noConflict()'多次。無可否認,這不是一個非常重要的缺點。 – Wiseguy
@Wiseguy是的,我認爲你只是在第一次關閉時才這樣做,否則這有點浪費。 – JesseBuesking
然後你必須跟蹤哪個塊是第一個加載的。如果你以後添加一個塊/包含一個.js文件在以前的第一個之上?我同樣也有''在最上面,並在整個過程中使用'(function($){})(jQuery)'。基本上歸結爲個人喜好,我猜。 – Wiseguy