我见过一些使用jQuery.noConflict
. 但似乎并不总是必要的。
// define $
var $ = function() {
alert("Hello World");
};
// use $ where it's not jQuery
$();
// 1
// jQuery.noConflict();
jQuery(document).ready(function($) {
$('body').append("<p>foo</p>");
});
// 2
// jQuery.noConflict();
(function($) {
$(function() {
$('body').append("<p>foo</p>");
});
})(jQuery);
// 3
// $.noConflict() here to tell jQuery to ignore $, but we're using *jQuery* when ready
jQuery(document).ready(function() {
jQuery('body').append("<p>foo</p>");
});
// use $ where it's not jQuery
$();
唯一需要的jQuery.noConflict
是当我们定义jQuery的别名时
var j = jQuery.noConflict();
j(document).ready(function() {
j('body').append("<p>foo</p>");
});
那么在什么情况下(除了创建别名)jQuery.noConflict()
不能省略?