如果页面同时包含JQuery和Prototype,那么我就会遇到冲突。有一个选项可以禁用JQuery的$ sign,所以没有冲突,但我必须使用关键字JQuery而不是$。
我想知道Prototype是否有任何选项可以解决这个冲突。有没有办法在不损害其利益或短关键字的情况下使用这两个库?
据我所知,对同一页面使用多个JS库并不是一个好主意;但有时可能会有所帮助。
答案 0 :(得分:34)
对jQuery使用noConflict方法并将其分配给新的(短)变量。使用new变量,无论你在哪里使用$ for jQuery。
var $j = jQuery.noConflict();
$j(function() {
$j('#selector').each( .... );
});
或者,如果您不需要混合Prototype / jQuery,您可以将所有jQuery代码包装在匿名函数中。
(function($) {
// $ sign here is a parameter, which is set to jQuery
$(function() {
$('#selector').each( .... );
});
})(jQuery);