Używam Twittera Bootstrap i chcę użyć „auto-sugestii”, która nie jest dostępna w Bootstrap, podczas gdy interfejs użytkownika jQuery ma własne metody automatycznego sugerowania.
Czy mogę używać obu? Czy spowoduje to przeciążenie przepustowości?
jquery-ui
twitter-bootstrap
Sanket Sahu
źródło
źródło
Odpowiedzi:
Sprawdź jquery-ui-bootstrap . Z README:
źródło
aby to zaktualizować, bootstrap v2 nie powoduje już konfliktu z interfejsem jquery
https://github.com/twbs/bootstrap/issues/171
Edycja : jako @Freshblood jest kilka rzeczy, które nadal powodują konflikt. Jednak, jak pierwotnie opublikowano na Twitterze, sugeruje, że pracują nad tym i to w dużej mierze działa, szczególnie w porównaniu do v1.
źródło
button()
metodę.Na przyszłość (ponieważ jest to najlepszy bankomat odpowiedzi Google), aby uniemożliwić interfejsowi jQuery nadpisanie stylu bootstrap lub niestandardowego, musisz utworzyć niestandardowe pobieranie i wybrać
no-theme
motyw. Będzie to obejmować tylko resetowanie interfejsu użytkownika jQuery, a nie przeciążanie stylu bootstrap dla różnych elementów.Skoro już o tym mowa, niektóre komponenty interfejsu użytkownika jQuery (takie jak datepicker) mają natywną implementację ładowania początkowego. Natywne implementacje bootstrap będą używać klas, atrybutów i układów bootstrap css, więc powinny mieć lepszą integrację z resztą frameworka.
źródło
Z mojego ograniczonego doświadczenia również napotykam problemy. Wygląda na to, że elementy JQuery (takie jak przyciski) można stylizować za pomocą bootstrap CSS. Jednak mam problemy z utworzeniem karty interfejsu użytkownika JQuery i chęcią zablokowania tylko wejścia ładowania początkowego (przy użyciu klasy input-append) na dole każdej karty, tylko pierwsza jest umieszczona poprawnie. Tak więc zakładki JQuery + przyciski Bootstrap = prawdopodobnie nie.
źródło
Bootstrap nadal nie działa z interfejsem użytkownika Jquery, na przykład modalnym. Bootstrap ma ładny styl, ale jako framework z Twitterem nie jest taki dobry.
źródło
Jeśli napotkasz kolizje przestrzeni nazw javascript, możesz użyć
noConflict()
funkcji Bootstrap, aby scedować funkcjonalność na interfejs użytkownika jQuery.źródło
Chociaż to pytanie wyraźnie wspomina o funkcji autosugestii jQuery-UI, tytuł pytania jest bardziej ogólny: czy bootstrap 3 działa z interfejsem jQuery? Miałem problem z funkcją jQUI datepicker (wyskakujący kalendarz). Rozwiązałem problem z datownikiem i mam nadzieję, że rozwiązanie pomoże z innymi problemami z jQUI / BS.
Trudno mi było dziś uzyskać najnowszy datepicker jQueryUI (wersja 1.12.1) do pracy z bootstrapem 3.3.7. Działo się tak, że kalendarz był wyświetlany, ale się nie zamykał.
Okazało się, że jest to problem z wersją jQUI i BS. Korzystałem z najnowszej wersji Bootstrap i stwierdziłem, że muszę przejść na te wersje jQUI i jQuery:
jQueryUI - 1.9.2 (testowane - działa)
jQuery - 1.9.1 lub 2.1.4 (testowane - oba działają. Inne wersje mogą działać, ale te działają).
Bootstrap 3.3.7 (testowane - działa)
Ponieważ chciałem użyć niestandardowego motywu, stworzyłem również niestandardowy plik do pobrania jQUI (usunąłem kilka rzeczy, takich jak wszystkie interakcje, okno dialogowe, pasek postępu i kilka efektów, których nie używam) - i upewniłem się, że wybrałem „Cupertino” na dole jako mój motyw.
Zainstalowałem je w ten sposób:
Dla zainteresowanych folder CSS wygląda następująco:
źródło
Jeśli nie przechowujesz go lokalnie i użyjesz podanego przez niego łącza, możesz uzyskać lepszą wydajność. W niektórych przypadkach klient może mieć już buforowane skrypty. Jeśli chodzi o przypadek jQueryUI, radziłbym nie ładować go, dopóki nie będzie to konieczne. Oba są zminimalizowane, ale możesz uruchomić konsolę i spojrzeć na kartę sieciową i zobaczyć, ile czasu zajmuje jej załadowanie, po pierwszym pobraniu zostanie zapisana w pamięci podręcznej, więc nie powinieneś się później martwić. tak, używaj ich obu, ale używaj CDN
źródło
Tak, możesz używać obu. js bootstrap z twittera to zbiór wtyczek jquery. Nie powinno być żadnego konfliktu z interfejsem użytkownika jQuery.
Jeśli chodzi o przeciążenie przepustowości, to naprawdę zależy od tego, jak obsługujesz żądania załadowania wszystkich plików js. jeśli naprawdę nie chcesz wysyłać wielu żądań do serwera w celu zażądania każdego pliku, po prostu dołącz je razem i zminimalizuj. Lub prawdopodobnie możesz pozbyć się niektórych wtyczek bootstrap js, których nie potrzebujesz. jest bardzo modułowy.
źródło
!important
którymi ciągle muszę nadpisywać i poprawiać, czasami za pomocą hackerskiego kodu. Nienawidzę Bootstrapa i odradzam jego używanie, przynajmniej do momentu, gdy przestanie on łączyć elementy, które nie używają klas Bootstrapa. (To nie jest wina oryginalnego projektanta - wątpię, by twórcy Twittera spodziewali się, że to, nad czym pracowali, stanie się popularną biblioteką.)Kendo UI ma tutaj ładny motyw bootstrap i zestaw interfejsu internetowego porównywalny z jquery-UI. Mają też wersję open source, która dobrze współgra z motywem.
źródło
Mam witrynę stworzoną przy użyciu jquery ui, po prostu próbowałem podłączyć bootstrap do przyszłego rozwoju i stylizacji, ale psuje praktycznie wszystko.
Więc nie, nie są kompatybilne.
źródło
Ponieważ jest to najlepszy wynik w Google na jquery ui i bootstrap.js , zdecydowałem się dodać to jako wiki społeczności.
Ja używam:
iw jakiś sposób, kiedy dołączam plik bootstrap.js, wyłącza rozwijanie autouzupełniania interfejsu jquery ui .
moje trzy obejścia:
źródło
Data-role = "none" jest kluczem do ich współpracy. Możesz zastosować do elementów, które chcesz, aby bootstrap dotykał, ale jquery mobile ignorować. jak to wejście type = "text" class = "form-control" placeholder = "Search" data-role = "none"
źródło