Как мы можем разрешить конфликт между прототипом и jQuery? - PullRequest
3 голосов
/ 03 февраля 2010

Чтобы разрешить конфликт между jQuery и прототипом,
есть ли другой способ, кроме как попросить JQuery разрешить через

jQuery.noConflict

и использование jQuery вместо $('code').code;

Разве мы не можем попросить прототип $ уйти и решить.

Ответы [ 3 ]

8 голосов
/ 03 февраля 2010

В любом случае вам следует указать пространство своего кода, и jQuery дает вам хорошую возможность повторно запросить $ на том же этапе:

jQuery.noConflict();

jQuery(function ($) {
    // $ is the jQuery object in here
    // and doesn't conflict with Prototype
});

Как описано здесь .

Я не знаю, сможете ли вы сделать Prototype "уйти в отставку", но это совершенно элегантное и рабочее решение.

0 голосов
/ 06 февраля 2010

PrototypeJS добавляет немного больше к глобальному пространству имен JavaScript, чем jQuery. Например, он добавляет значения для: Ajax, $, $$, $F, Abstract, Form, $A, $H, $R, $w. Вы можете посмотреть полный список классов и утилит на api.prototypejs.org .

Итак, совет, который вы получили, верен. Нет простого эквивалента jQuery.noConflict() для PrototypeJS.

0 голосов
/ 03 февраля 2010

Я не могу найти ни одной функции в http://api.prototypejs.org/, которая выдаст $, как noConflict() в jQuery.

Интересно, какая функция вам нужна, чтобы вы все ещеиспользуя прототип?jQuery может иметь плагины для этой функции.Использование 2 библиотек на одной странице сделает вашу страницу раздутой от размера каждой библиотеки.

...