miał ten sam problem. Nie udało mi się tego naprawić, ale znalazłem pracę.
Najpierw użyj $.noConflict()
i zrób jak ShaunOReilly powiedział i zastąp wszystkie znaki $
w Bootstrap.js z jQuery
. Zwróć jednak uwagę, że bootstrap ma wiele zmiennych o nazwie $ na początku - nie są to odwołania do jQuery, ale są częścią nazwy zmiennej. Nie musisz ich zmieniać. Zauważyłem, że wyszukiwanie i zastępowanie wystąpień $.
, $(
i $) robi lewę.
Następnie nie ładuj wtyczki do uruchamiania systemu. Jeśli ładujesz pełną bibliotekę w jednym skrypcie, wejdź i usuń funkcję przejścia (po prawej stronie u góry pliku bootstrap.js v2.3.0). Utracisz animacje przejścia, ale struktury zwinięcia nadal będą działać. Zobacz przykład this fiddle.
Naprawi to działanie przełączania w interakcji użytkownika, ale automatyczne przełączniki będą nadal łamane - na przykład pokazywanie/ukrywanie menu nawigacji na rozmiarach strony. Aby rozwiązać te problemy, wystarczy zaimplementować własny detektor zdarzeń i bezpośrednio wywołać funkcję bootstrap. Zobacz numer api w celach informacyjnych.
Na przykład, aby rozwiązać problem z paska nawigacyjnego na stronie zmienia rozmiar, użyłem tego kodu:
window.onresize = function(event) {
var nav = jQuery(".collapse");
if (jQuery(window).width() > 940) nav.collapse('show');
else nav.collapse('hide');
}
Chciałem tylko podziękować za to rozwiązanie, jego trochę pracy, ale niesamowite w jej wynikach. jako FYI, ale podczas wyszukiwania '$)' otrzymasz kilka wyników regularnych, które będą mieszane tam również, nie znalazłem żadnych przypadków, w których '$)' było konieczne, aby zmienić na 'jQuery)' – Kender
Jeśli spojrzysz na kod źródłowy bootstrap.js, zauważysz, że cała rzecz jest hermetyzowana w 'function ($) {...} (jQuery)', więc alias $ jest zlokalizowany i poprawnie wskazuje na jQuery wewnątrz wtyczki Bootstrap , co oznacza, że zastąpienie "$" przez "jQuery" w bootstrap.js nie jest konieczne. Jeśli jest to wykonalne, rozsądnym rozwiązaniem byłoby zastąpienie wszystkich funkcji Prototype.js odpowiednikami jQuery i pozbycie się Prototype.js. Nie jest optymalne ładowanie dwóch dużych bibliotek na stronie internetowej. – 10basetom