如何避免JQuery和Prototype之间的冲突

Sad*_*adi 15 javascript jquery conflict prototypejs

如果页面同时包含JQuery和Prototype,那么我就会遇到冲突.有一个选项可以禁用JQuery的$ sign,所以没有冲突但是,我必须使用关键字JQuery而不是$.

我想知道Prototype是否有任何选择来解决这个冲突.有没有办法在不损害其利益或短关键字的情况下使用这两个库?

据我所知,对同一页面使用多个JS库并不是一个好主意; 但有时可能会有所帮助.

tva*_*son 33

对jQuery 使用noConflict方法并将其分配给新的(短)变量.无论你在哪里使用$ for jQuery,都要使用新变量.

var $j = jQuery.noConflict();

$j(function() {
    $j('#selector').each( .... );
});
Run Code Online (Sandbox Code Playgroud)

或者,如果您不需要混合Prototype/jQuery,您可以将所有jQuery代码包装在匿名函数中.

(function($) {
    // $ sign here is a parameter, which is set to jQuery 

    $(function() {
        $('#selector').each( .... );
    });
})(jQuery);
Run Code Online (Sandbox Code Playgroud)