web-dev-qa-db-fra.com

Capturer l'événement de fermeture sur Bootstrap Modal

J'ai un Boostrap Modal pour sélectionner des événements. Si l'utilisateur clique sur le bouton X ou en dehors du modal, j'aimerais les envoyer à l'événement par défaut. Comment puis-je capturer ces événements?

Ceci est mon code:

<div class="modal" id="myModal">
  <div class="modal-dialog">
    <div class="modal-content event-selector">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">x</button>
        <center><h1 class="modal-title event-selector-text">Select an Event</h1><center>
      </div>
      <div class="container"></div>
      <div class="modal-body">
      <div class="event-banner">
        <a href="/?event=1"><img src=<?php echo IMAGES_EVENT1_LOGO; ?> width="100%"></a>
      </div>
      <div class="event-banner">
        <a href="/?event=2"><img src=<?php echo IMAGES_EVENT2_LOGO; ?> width="100%"></a>
      </div>
      </div>
    </div>
  </div>
</div>
53
Arturo

Ceci est très similaire à un autre article de stackoverflow, Lier une fonction à Twitter Bootstrap Fermeture modale. En supposant que vous utilisiez une version de Bootstap v3 ou v4, vous pouvez effectuer les opérations suivantes:

$("#myModal").on("hidden.bs.modal", function () {
    // put your default event here
});
134
cfnerd

Quoiqu'il soit répondu dans une autre question de débordement de pile Lier une fonction à Twitter Bootstrap Fermeture modale mais voici une réponse plus détaillée pour plus de convivialité.

Source: http://getbootstrap.com/javascript/#modals-events

13
vibs2006

J'ai essayé de l'utiliser et je n'ai pas fonctionné. Je suppose que c'est juste la version modale.

Bien que cela ait fonctionné comme ceci:

$("#myModal").on("hide.bs.modal", function () {
    // put your default event here
});

Juste pour mettre à jour la réponse =)

9
Eduardo Sganzerla