JavaScript
Breng Bootstrap tot leven met onze optionele JavaScript-plug-ins die zijn gebouwd op jQuery. Lees meer over elke plug-in, onze gegevens en programmatische API-opties en meer.
Plug-ins kunnen afzonderlijk worden opgenomen (met behulp van Bootstrap's individual js/dist/*.js
), of allemaal tegelijk met bootstrap.js
of de verkleinde bootstrap.min.js
(gebruik niet beide).
Als u een bundelaar (Webpack, Rollup...) gebruikt, kunt u /js/dist/*.js
bestanden gebruiken die UMD-gereed zijn.
Sommige plug-ins en CSS-componenten zijn afhankelijk van andere plug-ins. Als u plug-ins afzonderlijk opneemt, moet u controleren op deze afhankelijkheden in de documenten. Merk ook op dat alle plug-ins afhankelijk zijn van jQuery (dit betekent dat jQuery vóór de plug-inbestanden moet worden opgenomen). Raadpleeg onzepackage.json
om te zien welke versies van jQuery worden ondersteund.
Onze dropdowns, popovers en tooltips zijn ook afhankelijk van Popper.js .
Bijna alle Bootstrap-plug-ins kunnen alleen via HTML worden ingeschakeld en geconfigureerd met gegevensattributen (onze voorkeursmanier om JavaScript-functionaliteit te gebruiken). Zorg ervoor dat u slechts één set gegevensattributen voor een enkel element gebruikt (u kunt bijvoorbeeld geen tooltip en modaal activeren vanaf dezelfde knop.)
In sommige situaties kan het echter wenselijk zijn om deze functionaliteit uit te schakelen. Om de data-attribuut-API uit te schakelen, ontbindt u alle gebeurtenissen in het document met een naamruimte data-api
als volgt:
Als alternatief kunt u, om een specifieke plug-in te targeten, gewoon de naam van de plug-in opnemen als een naamruimte samen met de data-api-naamruimte als volgt:
Selectors ontsnappen
Als u speciale selectors gebruikt, bijvoorbeeld: collapse:Example
, zorg er dan voor dat u ze ontwijkt, omdat ze door jQuery worden geleid.
Bootstrap biedt aangepaste gebeurtenissen voor de unieke acties van de meeste plug-ins. Over het algemeen komen deze in een infinitief en voltooid deelwoordvorm - waarbij de infinitief (bijv. show
) wordt geactiveerd aan het begin van een gebeurtenis, en de voltooid deelwoordvorm (bijv. shown
) wordt geactiveerd bij de voltooiing van een actie.
Alle oneindige gebeurtenissen bieden preventDefault()
functionaliteit. Dit biedt de mogelijkheid om de uitvoering van een actie te stoppen voordat deze begint. False retourneren van een gebeurtenishandler zal ook automatisch aanroepen preventDefault()
.
We zijn ook van mening dat u alle Bootstrap-plug-ins puur via de JavaScript-API moet kunnen gebruiken. Alle openbare API's zijn enkele, ketenbare methoden en retourneren de verzameling waarop is gereageerd.
Alle methoden moeten een optioneel options-object accepteren, een tekenreeks die op een bepaalde methode is gericht, of niets (dat een plug-in start met standaardgedrag):
Elke plug-in stelt ook zijn onbewerkte constructor bloot aan een Constructor
eigenschap: $.fn.popover.Constructor
. Als u een bepaalde plug-in-instantie wilt ophalen, haalt u deze rechtstreeks op uit een element: $('[rel="popover"]').data('popover')
.
Alle programmatische API-methoden zijn asynchroon en keren terug naar de beller zodra de overgang is gestart, maar voordat deze eindigt .
Om een actie uit te voeren zodra de overgang is voltooid, kunt u naar de bijbehorende gebeurtenis luisteren.
Bovendien wordt een methodeaanroep op een transitiecomponent genegeerd .
U kunt de standaardinstellingen voor een plug-in wijzigen door het Constructor.Default
object van de plug-in aan te passen:
Soms is het nodig om Bootstrap-plug-ins te gebruiken met andere UI-frameworks. In deze omstandigheden kunnen naamruimte-botsingen af en toe optreden. Als dit gebeurt, kunt u een beroep doen .noConflict
op de plug-in waarvan u de waarde wilt terugzetten.
De versie van elk van de jQuery-plug-ins van Bootstrap is toegankelijk via de VERSION
eigenschap van de constructor van de plug-in. Bijvoorbeeld voor de tooltip-plug-in:
De plug-ins van Bootstrap vallen niet bijzonder gracieus terug als JavaScript is uitgeschakeld. Als u in dit geval om de gebruikerservaring geeft, gebruik <noscript>
dan om de situatie uit te leggen (en hoe u JavaScript opnieuw kunt inschakelen) aan uw gebruikers, en/of voeg uw eigen aangepaste fallbacks toe.
Bibliotheken van derden
Bootstrap ondersteunt officieel geen JavaScript-bibliotheken van derden, zoals Prototype of jQuery UI. Ondanks .noConflict
gebeurtenissen met naamruimte, kunnen er compatibiliteitsproblemen zijn die u zelf moet oplossen.
Alle JavaScript-bestanden van Bootstrap zijn afhankelijk van util.js
en moeten samen met de andere JavaScript-bestanden worden opgenomen. Als u de gecompileerde (of verkleinde) bootstrap.js
gebruikt, hoeft u dit niet op te nemen - het is er al.
util.js
bevat hulpprogramma-functies en een basishulp voor transitionEnd
evenementen, evenals een CSS-overgangemulator. Het wordt door de andere plug-ins gebruikt om te controleren op ondersteuning voor CSS-overgangen en om hangende overgangen op te vangen.