JavaScript
Gjør Bootstrap til live med våre valgfrie JavaScript-plugins bygget på jQuery. Lær om hver plugin, våre data- og programmatiske API-alternativer og mer.
Plugins kan inkluderes individuelt (ved å bruke Bootstraps individuelle *.js
filer), eller alle på en gang ved å bruke bootstrap.js
eller de minifiserte bootstrap.min.js
(ikke inkludere begge).
Noen plugins og CSS-komponenter er avhengige av andre plugins. Hvis du inkluderer plugins individuelt, sørg for å se etter disse avhengighetene i dokumentene. Vær også oppmerksom på at alle plugins er avhengige av jQuery (dette betyr at jQuery må inkluderes før plugin-filene). Se vårpackage.json
for å se hvilke versjoner av jQuery som støttes.
Våre rullegardiner, popovers og verktøytips avhenger også av Popper.js .
Nesten alle Bootstrap-plugins kan aktiveres og konfigureres gjennom HTML alene med dataattributter (vår foretrukne måte å bruke JavaScript-funksjonalitet). Pass på at du bare bruker ett sett med dataattributter på et enkelt element (f.eks. kan du ikke utløse et verktøytips og en modal fra samme knapp.)
I noen situasjoner kan det imidlertid være ønskelig å deaktivere denne funksjonaliteten. For å deaktivere dataattributtet API, fjern bindingen til alle hendelser på dokumentet med navneavstand data-api
slik:
Alternativt, for å målrette mot et spesifikt plugin, inkluderer du bare pluginens navn som et navneområde sammen med data-api navneområdet slik:
Bootstrap gir tilpassede hendelser for de fleste plugins unike handlinger. Generelt kommer disse i en infinitiv og partisippform - der infinitiv (eks. show
) utløses ved starten av en hendelse, og partisippform (eks. shown
) utløses ved fullføring av en handling.
Alle infinitive hendelser gir preventDefault()
funksjonalitet. Dette gir muligheten til å stoppe utførelsen av en handling før den starter. Å returnere usant fra en hendelsesbehandler vil også automatisk ringe preventDefault()
.
Vi mener også at du bør kunne bruke alle Bootstrap-plugins rent gjennom JavaScript API. Alle offentlige API-er er enkle, kjedebare metoder, og returnerer samlingen som ble utført.
Alle metoder bør godta et valgfritt alternativobjekt, en streng som retter seg mot en bestemt metode, eller ingenting (som starter en plugin med standard oppførsel):
Hvert plugin viser også sin råkonstruktør på en Constructor
egenskap: $.fn.popover.Constructor
. Hvis du vil ha en bestemt plugin-forekomst, kan du hente den direkte fra et element: $('[rel="popover"]').data('popover')
.
Alle programmatiske API-metoder er asynkrone og returnerer til den som ringer når overgangen er startet, men før den avsluttes .
For å utføre en handling når overgangen er fullført, kan du lytte til den tilsvarende hendelsen.
I tillegg vil et metodekall på en overgangskomponent bli ignorert .
Du kan endre standardinnstillingene for en plugin ved å endre plugin- Constructor.Default
objektet:
Noen ganger er det nødvendig å bruke Bootstrap-plugins med andre UI-rammer. Under disse omstendighetene kan navneområdekollisjoner av og til forekomme. Hvis dette skjer, kan du ringe .noConflict
til plugin-en du ønsker å tilbakestille verdien av.
Versjonen av hver av Bootstraps jQuery-plugins kan nås via VERSION
egenskapen til plugin-konstruktøren. For eksempel for verktøytips-plugin:
Bootstraps plugins faller ikke spesielt elegant tilbake når JavaScript er deaktivert. Hvis du bryr deg om brukeropplevelsen i dette tilfellet, bruk <noscript>
for å forklare situasjonen (og hvordan du aktiverer JavaScript på nytt) for brukerne dine, og/eller legg til dine egne tilpassede reserver.
Tredjeparts biblioteker
Bootstrap støtter ikke offisielt tredjeparts JavaScript-biblioteker som Prototype eller jQuery UI. Til tross for .noConflict
hendelser med navneavstand, kan det være kompatibilitetsproblemer som du må fikse på egen hånd.
Alle Bootstraps JavaScript-filer er avhengige av util.js
, og de må inkluderes sammen med de andre JavaScript-filene. Hvis du bruker den kompilerte (eller minifiserte) bootstrap.js
, er det ikke nødvendig å inkludere dette – det er der allerede.
util.js
inkluderer verktøyfunksjoner og en grunnleggende hjelper for transitionEnd
arrangementer samt en CSS-overgangsemulator. Den brukes av de andre pluginene for å se etter støtte for CSS-overganger og for å fange hengende overganger.