JavaScript
Oživte Bootstrap pomocí našich volitelných pluginů JavaScript postavených na jQuery. Přečtěte si o každém pluginu, našich možnostech datového a programového rozhraní API a dalších.
Pluginy mohou být zahrnuty jednotlivě (pomocí jednotlivých *.js
souborů Bootstrapu), nebo všechny najednou pomocí bootstrap.js
nebo minifikované bootstrap.min.js
(nezahrnujte obojí).
Některé pluginy a CSS komponenty závisí na jiných pluginech. Pokud zahrnete pluginy jednotlivě, nezapomeňte zkontrolovat tyto závislosti v dokumentech. Všimněte si také, že všechny pluginy závisí na jQuery (to znamená, že jQuery musí být zahrnuto před soubory pluginů). Chcete-li zjistit, které verze jQuery jsou podporovány, přečtěte si naše .package.json
Naše rozbalovací nabídky, vyskakovací okna a popisky také závisí na Popper.js .
Téměř všechny zásuvné moduly Bootstrap lze aktivovat a konfigurovat pouze prostřednictvím HTML s datovými atributy (náš preferovaný způsob používání funkcí JavaScriptu). Ujistěte se, že pro jeden prvek používáte pouze jednu sadu atributů dat (např. nemůžete spustit popisek a modal ze stejného tlačítka.)
V některých situacích však může být žádoucí tuto funkci zakázat. Chcete-li zakázat rozhraní API datových atributů, zrušte vazbu všech událostí v dokumentu s jmenným prostorem data-api
takto:
Alternativně, chcete-li cílit na konkrétní plugin, stačí zahrnout název pluginu jako jmenný prostor spolu s jmenným prostorem data-api, jako je tento:
Bootstrap poskytuje vlastní události pro většinu jedinečných akcí pluginů. Obecně platí, že jsou ve formě infinitivu a minulého příčestí – kde infinitiv (např. show
) je spuštěn na začátku události a jeho minulý tvar participia (např. shown
) je spuštěn při dokončení akce.
Všechny infinitivní události poskytují preventDefault()
funkčnost. To poskytuje možnost zastavit provádění akce před jejím zahájením. Vrácení false z obsluhy události také automaticky zavolá preventDefault()
.
Také věříme, že byste měli být schopni používat všechny Bootstrap pluginy čistě přes JavaScript API. Všechna veřejná rozhraní API jsou jediné, zřetězitelné metody a vracejí kolekci, podle které se jedná.
Všechny metody by měly přijímat volitelný objekt voleb, řetězec, který cílí na konkrétní metodu, nebo nic (což spouští plugin s výchozím chováním):
Každý plugin také odhaluje svůj raw konstruktor na Constructor
vlastnosti: $.fn.popover.Constructor
. Pokud chcete získat konkrétní instanci pluginu, načtěte ji přímo z prvku: $('[rel="popover"]').data('popover')
.
Všechny metody programového rozhraní API jsou asynchronní a vrátí se volajícímu po zahájení přechodu, ale před jeho ukončením .
Chcete-li po dokončení přechodu provést akci, můžete si poslechnout odpovídající událost.
Kromě toho bude ignorováno volání metody na přechodové komponentě .
Výchozí nastavení pluginu můžete změnit úpravou objektu pluginu Constructor.Default
:
Někdy je nutné použít Bootstrap pluginy s jinými UI frameworky. Za těchto okolností může občas dojít ke kolizím oboru názvů. Pokud k tomu dojde, můžete zavolat .noConflict
na plugin, jehož hodnotu chcete vrátit.
Verze každého z pluginů jQuery Bootstrapu jsou přístupné prostřednictvím VERSION
vlastnosti konstruktoru pluginu. Například pro plugin tooltip:
Pluginy Bootstrapu neustupují nijak zvlášť elegantně, když je zakázán JavaScript. Pokud vám v tomto případě záleží na uživatelském dojmu, použijte <noscript>
k vysvětlení situace (a jak znovu povolit JavaScript) svým uživatelům a/nebo přidejte své vlastní záložní.
Knihovny třetích stran
Bootstrap oficiálně nepodporuje JavaScriptové knihovny třetích stran, jako je Prototype nebo jQuery UI. Navzdory .noConflict
událostem se jmenným prostorem se mohou vyskytnout problémy s kompatibilitou, které budete muset vyřešit sami.
Všechny soubory JavaScriptu Bootstrapu závisí na util.js
a musí být zahrnuty spolu s ostatními soubory JavaScript. Pokud používáte zkompilovaný (nebo minifikovaný) bootstrap.js
, není potřeba toto zahrnout – už to tam je.
util.js
obsahuje pomocné funkce a základního pomocníka pro transitionEnd
události a také emulátor přechodu CSS. Používají ho ostatní pluginy ke kontrole podpory přechodů CSS a zachycení visících přechodů.