15

如果一个页面同时具有 JQuery 和 Prototype,那么我就会发生冲突。有一个选项可以为 JQuery 禁用 $ 符号,因此没有冲突,但是我必须使用关键字 JQuery 而不是 $。

我想知道 Prototype 是否有任何选项可以解决这个冲突。有没有办法在不损害它们的好处或短关键字的情况下使用这两个库?

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

4

1 回答 1

33

对 jQuery使用noConflict方法并将其分配给一个新的(短)变量。在您使用 $ 表示 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);
于 2009-09-09T18:47:19.133 回答