JavaScript
Dați viață Bootstrap-ului cu pluginurile noastre opționale JavaScript construite pe jQuery. Aflați despre fiecare plugin, despre opțiunile noastre de date și API programatice și multe altele.
Individual sau compilat
Pluginurile pot fi incluse individual (folosind individualul Bootstrap js/dist/*.js
) sau toate odată folosind bootstrap.js
sau diminuate bootstrap.min.js
(nu le includeți pe ambele).
Dacă utilizați un bundler (Webpack, Rollup...), puteți utiliza /js/dist/*.js
fișiere care sunt gata UMD.
Dependente
Unele plugin-uri și componente CSS depind de alte plugin-uri. Dacă includeți pluginuri individual, asigurați-vă că verificați aceste dependențe în documente. De asemenea, rețineți că toate pluginurile depind de jQuery (aceasta înseamnă că jQuery trebuie inclus înainte de fișierele plugin). Consultați-nepackage.json
pentru a vedea ce versiuni de jQuery sunt acceptate.
Mențiunile derulante, popover-urile și sfaturile noastre de instrumente depind și de Popper.js .
Atributele datelor
Aproape toate pluginurile Bootstrap pot fi activate și configurate numai prin HTML cu atribute de date (modul nostru preferat de a folosi funcționalitatea JavaScript). Asigurați-vă că utilizați un singur set de atribute de date pe un singur element (de exemplu, nu puteți declanșa un balon explicativ și un modal de pe același buton.)
Cu toate acestea, în unele situații poate fi de dorit să dezactivați această funcționalitate. Pentru a dezactiva API-ul atributului de date, dezlegați toate evenimentele din documentul cu spații de nume data-api
astfel:
Alternativ, pentru a viza un anumit plugin, includeți doar numele pluginului ca spațiu de nume împreună cu spațiul de nume data-api, astfel:
Selectoare
În prezent, pentru a interoga elementele DOM, folosim metodele native querySelector
și querySelectorAll
din motive de performanță, așa că trebuie să utilizați selectoare valide . Dacă utilizați selectoare speciale, de exemplu: collapse:Example
asigurați-vă că le scăpați.
Evenimente
Bootstrap oferă evenimente personalizate pentru acțiunile unice ale majorității pluginurilor. În general, acestea vin într-o formă de infinitiv și participiu trecut - unde infinitivul (ex. show
) este declanșat la începutul unui eveniment, iar forma sa de participiu trecut (ex. shown
) este declanșat la finalizarea unei acțiuni.
Toate evenimentele infinitive oferă preventDefault()
funcționalitate. Aceasta oferă posibilitatea de a opri execuția unei acțiuni înainte de a începe. Întoarcerea false de la un handler de evenimente va apela automat și preventDefault()
.
API-ul programatic
De asemenea, credem că ar trebui să puteți utiliza toate pluginurile Bootstrap doar prin API-ul JavaScript. Toate API-urile publice sunt metode unice, care pot fi înlănțuite și returnează colecția asupra căreia se acționează.
Toate metodele ar trebui să accepte un obiect opțional opțional, un șir care vizează o anumită metodă sau nimic (care inițiază un plugin cu comportament implicit):
Fiecare plugin își expune, de asemenea, constructorul brut pe o Constructor
proprietate: $.fn.popover.Constructor
. Dacă doriți să obțineți o anumită instanță de plugin, preluați-o direct dintr-un element: $('[rel="popover"]').data('popover')
.
Funcții și tranziții asincrone
Toate metodele API programatice sunt asincrone și revin la apelant odată ce tranziția este începută, dar înainte ca aceasta să se încheie .
Pentru a executa o acțiune odată ce tranziția este finalizată, puteți asculta evenimentul corespunzător.
În plus, un apel de metodă pentru o componentă de tranziție va fi ignorat .
Setări implicite
Puteți modifica setările implicite pentru un plugin modificând obiectul pluginului Constructor.Default
:
Fără conflict
Uneori este necesar să utilizați pluginuri Bootstrap cu alte cadre UI. În aceste circumstanțe, pot apărea ocazional coliziuni ale spațiului de nume. Dacă se întâmplă acest lucru, puteți apela .noConflict
la pluginul căruia doriți să reveniți la valoarea.
Numerele versiunii
Versiunea fiecărui plugin jQuery de la Bootstrap poate fi accesată prin VERSION
proprietatea constructorului pluginului. De exemplu, pentru pluginul tooltip:
Nu există soluții speciale când JavaScript este dezactivat
Pluginurile Bootstrap nu revin în mod deosebit de grațios atunci când JavaScript este dezactivat. Dacă vă pasă de experiența utilizatorului în acest caz, folosiți <noscript>
pentru a explica situația (și cum să reactivați JavaScript) utilizatorilor dvs. și/sau adăugați propriile alternative personalizate.
Biblioteci de la terți
Bootstrap nu acceptă oficial biblioteci JavaScript terță parte, cum ar fi Prototype sau jQuery UI. În ciuda .noConflict
evenimentelor cu spații de nume, pot exista probleme de compatibilitate pe care trebuie să le rezolvați singur.
Util
Toate fișierele JavaScript din Bootstrap depind util.js
și trebuie incluse alături de celelalte fișiere JavaScript. Dacă utilizați fișierul compilat (sau minimizat) bootstrap.js
, nu este nevoie să îl includeți - este deja acolo.
util.js
include funcții utilitare și un ajutor de bază pentru transitionEnd
evenimente, precum și un emulator de tranziție CSS. Este folosit de celelalte plugin-uri pentru a verifica suportul pentru tranziția CSS și pentru a prinde tranzițiile suspendate.
Dezinfectant
Sfaturile cu instrumente și popoverele folosesc dezinfectantul nostru încorporat pentru a dezinfecta opțiunile care acceptă HTML.
Valoarea implicită whiteList
este următoarea:
Dacă doriți să adăugați noi valori la această valoare implicită whiteList
, puteți face următoarele:
Dacă doriți să ocoliți dezinfectantul nostru deoarece preferați să utilizați o bibliotecă dedicată, de exemplu DOMPurify , ar trebui să faceți următoarele: