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 に答える