Ga naar hoofdinhoud Ga naar navigatie in documenten
Check
in English

Modaal

Gebruik de modale JavaScript-plug-in van Bootstrap om dialoogvensters aan uw site toe te voegen voor lightboxes, gebruikersmeldingen of volledig aangepaste inhoud.

Hoe het werkt

Voordat u aan de slag gaat met de modale component van Bootstrap, moet u het volgende lezen, aangezien onze menu-opties onlangs zijn gewijzigd.

  • Modals zijn gebouwd met HTML, CSS en JavaScript. Ze worden over al het andere in het document gepositioneerd en verwijderen scroll uit de <body>zodat in plaats daarvan modale inhoud schuift.
  • Als u op de modale "achtergrond" klikt, wordt de modal automatisch gesloten.
  • Bootstrap ondersteunt slechts één modaal venster tegelijk. Geneste modaliteiten worden niet ondersteund omdat we denken dat dit een slechte gebruikerservaring is.
  • Modals gebruiken position: fixed, wat soms een beetje bijzonder kan zijn over de weergave ervan. Plaats waar mogelijk uw modale HTML op een positie op het hoogste niveau om mogelijke interferentie van andere elementen te voorkomen. U zult waarschijnlijk problemen tegenkomen bij het nesten van een .modalin een ander vast element.
  • Nogmaals, vanwege position: fixed, zijn er enkele kanttekeningen bij het gebruik van modals op mobiele apparaten. Zie onze browserondersteuningsdocumenten voor details.
  • Vanwege de manier waarop HTML5 de semantiek definieert, heeft het autofocusHTML-attribuut geen effect in Bootstrap-modaliteiten. Gebruik wat aangepast JavaScript om hetzelfde effect te bereiken:
const myModal = document.getElementById('myModal')
const myInput = document.getElementById('myInput')

myModal.addEventListener('shown.bs.modal', () => {
  myInput.focus()
})
Het animatie-effect van deze component is afhankelijk van de prefers-reduced-motionmediaquery. Zie het gedeelte over beperkte beweging van onze toegankelijkheidsdocumentatie .

Blijf lezen voor demo's en gebruiksrichtlijnen.

Voorbeelden

Hieronder staat een statisch modaal voorbeeld (wat betekent dat het is positionen displayis overschreven). Inbegrepen zijn de modale koptekst, modale hoofdtekst (vereist voor padding) en modale voettekst (optioneel). We vragen u waar mogelijk modale koppen met afwijzingsacties op te nemen, of een andere expliciete afwijzingsactie op te geven.

<div class="modal" tabindex="-1">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title">Modal title</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        <p>Modal body text goes here.</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

Live demonstratie

Schakel een werkende modale demo in door op de onderstaande knop te klikken. Het schuift naar beneden en verdwijnt in beeld vanaf de bovenkant van de pagina.

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

Statische achtergrond

Als achtergrond is ingesteld op statisch, wordt de modal niet gesloten als er buiten wordt geklikt. Klik op de onderstaande knop om het te proberen.

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#staticBackdrop">
  Launch static backdrop modal
</button>

<!-- Modal -->
<div class="modal fade" id="staticBackdrop" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="staticBackdropLabel">Modal title</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Understood</button>
      </div>
    </div>
  </div>
</div>

Door lange inhoud scrollen

Wanneer modals te lang worden voor de viewport of het apparaat van de gebruiker, scrollen ze onafhankelijk van de pagina zelf. Probeer de demo hieronder om te zien wat we bedoelen.

U kunt ook een schuifbare modal maken waarmee u door de modale body kunt scrollen door toe te voegen .modal-dialog-scrollableaan .modal-dialog.

<!-- Scrollable modal -->
<div class="modal-dialog modal-dialog-scrollable">
  ...
</div>

Verticaal gecentreerd

Toevoegen .modal-dialog-centeredaan .modal-dialogom de modal verticaal te centreren.

<!-- Vertically centered modal -->
<div class="modal-dialog modal-dialog-centered">
  ...
</div>

<!-- Vertically centered scrollable modal -->
<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable">
  ...
</div>

Knopinfo en popovers

Tooltips en popovers kunnen indien nodig in modals worden geplaatst. Wanneer modals zijn gesloten, worden alle tooltips en popovers binnen ook automatisch gesloten.

<div class="modal-body">
  <h5>Popover in a modal</h5>
  <p>This <a href="#" role="button" class="btn btn-secondary" data-bs-toggle="popover" title="Popover title" data-bs-content="Popover body content is set in this attribute.">button</a> triggers a popover on click.</p>
  <hr>
  <h5>Tooltips in a modal</h5>
  <p><a href="#" data-bs-toggle="tooltip" title="Tooltip">This link</a> and <a href="#" data-bs-toggle="tooltip" title="Tooltip">that link</a> have tooltips on hover.</p>
</div>

Het raster gebruiken

Gebruik het Bootstrap-rastersysteem binnen een modaal door te nesten .container-fluidin het .modal-body. Gebruik dan de normale rastersysteemklassen zoals u dat ergens anders zou doen.

<div class="modal-body">
  <div class="container-fluid">
    <div class="row">
      <div class="col-md-4">.col-md-4</div>
      <div class="col-md-4 ms-auto">.col-md-4 .ms-auto</div>
    </div>
    <div class="row">
      <div class="col-md-3 ms-auto">.col-md-3 .ms-auto</div>
      <div class="col-md-2 ms-auto">.col-md-2 .ms-auto</div>
    </div>
    <div class="row">
      <div class="col-md-6 ms-auto">.col-md-6 .ms-auto</div>
    </div>
    <div class="row">
      <div class="col-sm-9">
        Level 1: .col-sm-9
        <div class="row">
          <div class="col-8 col-sm-6">
            Level 2: .col-8 .col-sm-6
          </div>
          <div class="col-4 col-sm-6">
            Level 2: .col-4 .col-sm-6
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

Variërende modale inhoud

Heb je een aantal knoppen die allemaal hetzelfde modaal activeren met een iets andere inhoud? Gebruik event.relatedTargeten HTML- data-bs-*attributen om de inhoud van de modal te variëren, afhankelijk van op welke knop is geklikt.

Hieronder is een live demo gevolgd door voorbeeld HTML en JavaScript. Lees voor meer informatie de documenten over modale gebeurtenissen voor meer informatie over relatedTarget.

html
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal" data-bs-whatever="@mdo">Open modal for @mdo</button>
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal" data-bs-whatever="@fat">Open modal for @fat</button>
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal" data-bs-whatever="@getbootstrap">Open modal for @getbootstrap</button>

<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">New message</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        <form>
          <div class="mb-3">
            <label for="recipient-name" class="col-form-label">Recipient:</label>
            <input type="text" class="form-control" id="recipient-name">
          </div>
          <div class="mb-3">
            <label for="message-text" class="col-form-label">Message:</label>
            <textarea class="form-control" id="message-text"></textarea>
          </div>
        </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Send message</button>
      </div>
    </div>
  </div>
</div>
const exampleModal = document.getElementById('exampleModal')
exampleModal.addEventListener('show.bs.modal', event => {
  // Button that triggered the modal
  const button = event.relatedTarget
  // Extract info from data-bs-* attributes
  const recipient = button.getAttribute('data-bs-whatever')
  // If necessary, you could initiate an AJAX request here
  // and then do the updating in a callback.
  //
  // Update the modal's content.
  const modalTitle = exampleModal.querySelector('.modal-title')
  const modalBodyInput = exampleModal.querySelector('.modal-body input')

  modalTitle.textContent = `New message to ${recipient}`
  modalBodyInput.value = recipient
})

Schakelen tussen modaliteiten

Schakel tussen meerdere modals met een slimme plaatsing van de data-bs-targeten data-bs-toggleattributen. U kunt bijvoorbeeld een modaal voor het opnieuw instellen van een wachtwoord wijzigen vanuit een reeds geopende aanmeldingsmodaliteit. Houd er rekening mee dat meerdere modals niet tegelijkertijd open kunnen zijn - deze methode schakelt eenvoudig tussen twee afzonderlijke modals.

Eerste modaal openen
html
<div class="modal fade" id="exampleModalToggle" aria-hidden="true" aria-labelledby="exampleModalToggleLabel" tabindex="-1">
  <div class="modal-dialog modal-dialog-centered">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalToggleLabel">Modal 1</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        Show a second modal and hide this one with the button below.
      </div>
      <div class="modal-footer">
        <button class="btn btn-primary" data-bs-target="#exampleModalToggle2" data-bs-toggle="modal">Open second modal</button>
      </div>
    </div>
  </div>
</div>
<div class="modal fade" id="exampleModalToggle2" aria-hidden="true" aria-labelledby="exampleModalToggleLabel2" tabindex="-1">
  <div class="modal-dialog modal-dialog-centered">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalToggleLabel2">Modal 2</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        Hide this modal and show the first with the button below.
      </div>
      <div class="modal-footer">
        <button class="btn btn-primary" data-bs-target="#exampleModalToggle" data-bs-toggle="modal">Back to first</button>
      </div>
    </div>
  </div>
</div>
<a class="btn btn-primary" data-bs-toggle="modal" href="#exampleModalToggle" role="button">Open first modal</a>

Animatie wijzigen

De $modal-fade-transformvariabele bepaalt de transformatiestatus van .modal-dialogvóór de modale fade-in-animatie, de $modal-show-transformvariabele bepaalt de transformatie van .modal-dialogaan het einde van de modale fade-in-animatie.

Als u bijvoorbeeld een inzoomanimatie wilt, kunt u instellen $modal-fade-transform: scale(.8).

Animatie verwijderen

Voor modals die gewoon verschijnen in plaats van vervagen om te bekijken, verwijdert u de .fadeklasse uit uw modale opmaak.

<div class="modal" tabindex="-1" aria-labelledby="..." aria-hidden="true">
  ...
</div>

Dynamische hoogten

Als de hoogte van een modal verandert terwijl deze open is, moet u bellen myModal.handleUpdate()om de positie van de modal opnieuw aan te passen voor het geval er een schuifbalk verschijnt.

Toegankelijkheid

Zorg ervoor dat u aria-labelledby="...", verwijzend naar de modale titel, toevoegt aan .modal. Bovendien kunt u een beschrijving van uw modale dialoog geven met aria-describedbyop .modal. Merk op dat u niets hoeft toe te voegen role="dialog", omdat we het al toevoegen via JavaScript.

YouTube-video's insluiten

Voor het insluiten van YouTube-video's in modals is extra JavaScript vereist dat niet in Bootstrap zit om het afspelen automatisch te stoppen en meer. Zie deze nuttige Stack Overflow-post voor meer informatie.

Optionele maten

Modals hebben drie optionele maten, beschikbaar via modificatieklassen die op een .modal-dialog. Deze formaten treden in werking bij bepaalde breekpunten om horizontale schuifbalken op smallere kijkvensters te vermijden.

Maat Klas Modale maximale breedte
Klein .modal-sm 300px
Standaard Geen 500px
Groot .modal-lg 800px
Extra groot .modal-xl 1140px

Onze standaard modale klasse zonder modificatie vormt de "middelgrote" modal.

<div class="modal-dialog modal-xl">...</div>
<div class="modal-dialog modal-lg">...</div>
<div class="modal-dialog modal-sm">...</div>

Modaal op volledig scherm

Een andere overschrijving is de optie om een ​​modaal op te roepen dat de gebruikersviewport dekt, beschikbaar via modificatieklassen die op een .modal-dialog.

Klas Beschikbaarheid
.modal-fullscreen Altijd
.modal-fullscreen-sm-down 576px
.modal-fullscreen-md-down 768px
.modal-fullscreen-lg-down 992px
.modal-fullscreen-xl-down 1200px
.modal-fullscreen-xxl-down 1400px
<!-- Full screen modal -->
<div class="modal-dialog modal-fullscreen-sm-down">
  ...
</div>

CSS

Variabelen

Toegevoegd in v5.2.0

Als onderdeel van Bootstrap's evoluerende benadering van CSS-variabelen, gebruiken modals nu lokale CSS-variabelen op .modalen .modal-backdropvoor verbeterde realtime aanpassingen. Waarden voor de CSS-variabelen worden ingesteld via Sass, dus Sass-aanpassing wordt ook nog steeds ondersteund.

  --#{$prefix}modal-zindex: #{$zindex-modal};
  --#{$prefix}modal-width: #{$modal-md};
  --#{$prefix}modal-padding: #{$modal-inner-padding};
  --#{$prefix}modal-margin: #{$modal-dialog-margin};
  --#{$prefix}modal-color: #{$modal-content-color};
  --#{$prefix}modal-bg: #{$modal-content-bg};
  --#{$prefix}modal-border-color: #{$modal-content-border-color};
  --#{$prefix}modal-border-width: #{$modal-content-border-width};
  --#{$prefix}modal-border-radius: #{$modal-content-border-radius};
  --#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-xs};
  --#{$prefix}modal-inner-border-radius: #{$modal-content-inner-border-radius};
  --#{$prefix}modal-header-padding-x: #{$modal-header-padding-x};
  --#{$prefix}modal-header-padding-y: #{$modal-header-padding-y};
  --#{$prefix}modal-header-padding: #{$modal-header-padding}; // Todo in v6: Split this padding into x and y
  --#{$prefix}modal-header-border-color: #{$modal-header-border-color};
  --#{$prefix}modal-header-border-width: #{$modal-header-border-width};
  --#{$prefix}modal-title-line-height: #{$modal-title-line-height};
  --#{$prefix}modal-footer-gap: #{$modal-footer-margin-between};
  --#{$prefix}modal-footer-bg: #{$modal-footer-bg};
  --#{$prefix}modal-footer-border-color: #{$modal-footer-border-color};
  --#{$prefix}modal-footer-border-width: #{$modal-footer-border-width};
  
  --#{$prefix}backdrop-zindex: #{$zindex-modal-backdrop};
  --#{$prefix}backdrop-bg: #{$modal-backdrop-bg};
  --#{$prefix}backdrop-opacity: #{$modal-backdrop-opacity};
  

Sass-variabelen

$modal-inner-padding:               $spacer;

$modal-footer-margin-between:       .5rem;

$modal-dialog-margin:               .5rem;
$modal-dialog-margin-y-sm-up:       1.75rem;

$modal-title-line-height:           $line-height-base;

$modal-content-color:               null;
$modal-content-bg:                  $white;
$modal-content-border-color:        var(--#{$prefix}border-color-translucent);
$modal-content-border-width:        $border-width;
$modal-content-border-radius:       $border-radius-lg;
$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width);
$modal-content-box-shadow-xs:       $box-shadow-sm;
$modal-content-box-shadow-sm-up:    $box-shadow;

$modal-backdrop-bg:                 $black;
$modal-backdrop-opacity:            .5;

$modal-header-border-color:         var(--#{$prefix}border-color);
$modal-header-border-width:         $modal-content-border-width;
$modal-header-padding-y:            $modal-inner-padding;
$modal-header-padding-x:            $modal-inner-padding;
$modal-header-padding:              $modal-header-padding-y $modal-header-padding-x; // Keep this for backwards compatibility

$modal-footer-bg:                   null;
$modal-footer-border-color:         $modal-header-border-color;
$modal-footer-border-width:         $modal-header-border-width;

$modal-sm:                          300px;
$modal-md:                          500px;
$modal-lg:                          800px;
$modal-xl:                          1140px;

$modal-fade-transform:              translate(0, -50px);
$modal-show-transform:              none;
$modal-transition:                  transform .3s ease-out;
$modal-scale-transform:             scale(1.02);

Lus

Responsieve fullscreen modals worden gegenereerd via de $breakpointskaart en een lus in scss/_modal.scss.

@each $breakpoint in map-keys($grid-breakpoints) {
  $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
  $postfix: if($infix != "", $infix + "-down", "");

  @include media-breakpoint-down($breakpoint) {
    .modal-fullscreen#{$postfix} {
      width: 100vw;
      max-width: none;
      height: 100%;
      margin: 0;

      .modal-content {
        height: 100%;
        border: 0;
        @include border-radius(0);
      }

      .modal-header,
      .modal-footer {
        @include border-radius(0);
      }

      .modal-body {
        overflow-y: auto;
      }
    }
  }
}

Gebruik

De modale plug-in schakelt uw verborgen inhoud op aanvraag in, via gegevensattributen of JavaScript. Het heft ook het standaard scrollgedrag op en genereert een .modal-backdropom een ​​klikgebied te bieden voor het negeren van getoonde modals wanneer buiten het modale geklikt wordt.

Via gegevensattributen

Schakelaar

Activeer een modaal zonder JavaScript te schrijven. Stel data-bs-toggle="modal"in op een controller-element, zoals een knop, samen met een data-bs-target="#foo"of href="#foo"om een ​​specifieke modaal te targeten om te schakelen.

<button type="button" data-bs-toggle="modal" data-bs-target="#myModal">Launch modal</button>

Afwijzen

Ontslag kan worden bereikt met het datakenmerk op een knop binnen de modal , zoals hieronder wordt aangetoond:

<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>

of op een knop buiten de modal met behulp van de data-bs-targetonderstaande afbeelding:

<button type="button" class="btn-close" data-bs-dismiss="modal" data-bs-target="#my-modal" aria-label="Close"></button>
Hoewel beide manieren om een ​​modaal af te wijzen worden ondersteund, moet u er rekening mee houden dat afwijzen van buiten een modaal niet overeenkomt met het ARIA Authoring Practices Guide-dialoogvenster (modaal) patroon . Doe dit op eigen risico.

Via JavaScript

Maak een modaal met een enkele regel JavaScript:

const myModal = new bootstrap.Modal(document.getElementById('myModal'), options)
// or
const myModalAlternative = new bootstrap.Modal('#myModal', options)

Opties

Omdat opties kunnen worden doorgegeven via gegevensattributen of JavaScript, kunt u een optienaam toevoegen aan data-bs-, zoals in data-bs-animation="{value}". Zorg ervoor dat u het kasttype van de optienaam wijzigt van " camelCase " in " kebab-case " wanneer u de opties doorgeeft via gegevensattributen. Gebruik bijvoorbeeld in data-bs-custom-class="beautifier"plaats van data-bs-customClass="beautifier".

Vanaf Bootstrap 5.2.0 ondersteunen alle componenten een experimenteel gereserveerd gegevenskenmerk data-bs-configdat een eenvoudige componentconfiguratie als een JSON-tekenreeks kan bevatten. Wanneer een element attributen heeft data-bs-config='{"delay":0, "title":123}', zal data-bs-title="456"de uiteindelijke titlewaarde zijn 456en zullen de afzonderlijke gegevensattributen de waarden overschrijven die op data-bs-config. Bovendien kunnen bestaande gegevensattributen JSON-waarden zoals data-bs-delay='{"show":0,"hide":150}'.

Naam Type Standaard Beschrijving
backdrop booleaans,'static' true Bevat een modaal-achtergrondelement. U kunt ook een achtergrond opgeven staticdie de modal niet sluit wanneer erop wordt geklikt.
focus booleaans true Legt de focus op het modale wanneer geïnitialiseerd.
keyboard booleaans true Sluit de modal wanneer de escape-toets wordt ingedrukt.

Methoden:

Asynchrone methoden en overgangen

Alle API-methoden zijn asynchroon en starten een transitie . Ze keren terug naar de beller zodra de overgang is gestart maar voordat deze eindigt . Bovendien wordt een methodeaanroep op een overgangscomponent genegeerd .

Zie onze JavaScript-documentatie voor meer informatie .

Passende opties

Activeert uw inhoud als modaal. Accepteert een optionele optie object.

const myModal = new bootstrap.Modal('#myModal', {
  keyboard: false
})
Methode Beschrijving
dispose Vernietigt de modal van een element. (Verwijdert opgeslagen gegevens op het DOM-element)
getInstance Statische methode waarmee u de modale instantie kunt krijgen die is gekoppeld aan een DOM-element.
getOrCreateInstance Statische methode waarmee u de modale instantie kunt krijgen die is gekoppeld aan een DOM-element, of een nieuwe kunt maken voor het geval deze niet is geïnitialiseerd.
handleUpdate Pas de positie van de modal handmatig aan als de hoogte van een modal verandert terwijl deze open is (dwz als er een schuifbalk verschijnt).
hide Verbergt handmatig een modaal. Keert terug naar de beller voordat de modal daadwerkelijk is verborgen (dwz voordat de hidden.bs.modalgebeurtenis plaatsvindt).
show Opent handmatig een modaal. Keert terug naar de beller voordat de modal daadwerkelijk is getoond (dwz voordat de shown.bs.modalgebeurtenis plaatsvindt). U kunt ook een DOM-element doorgeven als argument dat kan worden ontvangen in de modale gebeurtenissen (als de relatedTargeteigenschap). (dwz const modalToggle = document.getElementById('toggleMyModal'); myModal.show(modalToggle).
toggle Schakelt handmatig een modaal in. Keert terug naar de beller voordat de modal daadwerkelijk is getoond of verborgen (dwz voordat de shown.bs.modalof hidden.bs.modal-gebeurtenis plaatsvindt).

Evenementen

De modale klasse van Bootstrap onthult een paar gebeurtenissen voor het aansluiten op modale functionaliteit. Alle modale gebeurtenissen worden afgevuurd op de modale zelf (dwz op de <div class="modal">).

Evenement Beschrijving
hide.bs.modal Deze gebeurtenis wordt onmiddellijk geactiveerd wanneer de hideinstantiemethode is aangeroepen.
hidden.bs.modal Deze gebeurtenis wordt geactiveerd wanneer de modal klaar is met verborgen zijn voor de gebruiker (wacht tot de CSS-overgangen zijn voltooid).
hidePrevented.bs.modal Deze gebeurtenis wordt geactiveerd wanneer de modal wordt weergegeven, de achtergrond is staticen een klik buiten de modal wordt uitgevoerd. De gebeurtenis wordt ook geactiveerd wanneer de escape-toets wordt ingedrukt en de keyboardoptie is ingesteld op false.
show.bs.modal Deze gebeurtenis wordt onmiddellijk geactiveerd wanneer de showinstantiemethode wordt aangeroepen. Indien veroorzaakt door een klik, is het aangeklikte element beschikbaar als de relatedTargeteigenschap van de gebeurtenis.
shown.bs.modal Deze gebeurtenis wordt geactiveerd wanneer de modal zichtbaar is gemaakt voor de gebruiker (wacht tot de CSS-overgangen zijn voltooid). Indien veroorzaakt door een klik, is het aangeklikte element beschikbaar als de relatedTargeteigenschap van de gebeurtenis.
const myModalEl = document.getElementById('myModal')
myModalEl.addEventListener('hidden.bs.modal', event => {
  // do something...
})