227 votes

Comment gérer l’événement de clôture modale dans Twitter Bootstrap ?

Dans Twitter bootstrap, en regardant les auxiliaires modaux de la documentation. Je n'ai pas pu savoir s'il existe un moyen de l'écouter jusqu'à la fin de l'événement de l'modal et exécuter une fonction.

par exemple, vous permet de profiter de cette modal comme exemple:

<div class="modal-header">
    <button type="button" class="close close_link" data-dismiss="modal" aria-hidden="true">&times;</button>
    <h3>Modal header</h3>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
    <a href="#" class="btn close_link" data-dismiss="modal">Close</a>   
</div>

Sur le bouton X en haut et le bouton de fermeture sur le bas de l'image à la fois de masquer/fermer la modale en raison de data-dismiss="modal". Alors je me demande, si j'arrivais à les écouter?

Sinon, je pourrais le faire manuellement comme ceci, je suppose...

$("#salesitems_modal").load(url, data, function() { 
            $(this).modal('show'); 
            $(this).find(".close_link").click(modal_closing);
});            
}

Qu'en pensez-vous?

453voto

albertedevigo Points 6964

Mise à jour pour Bootstrap 3

Bootstrap 3 la documentation fait référence à deux événements vous pouvez utiliser

se cacher.bs.modal: Cet événement est déclenché immédiatement lorsque le cacher méthode d'instance a été appelé.
caché.bs.modal: Cet événement est déclenché lorsque le modal a fini d'être caché de l'utilisateur (va attendre pour les transitions CSS).

Et fournit un exemple sur la façon de les utiliser:

$('#myModal').on('hidden.bs.modal', function () {
  // do something…
})

L'héritage de Bootstrap 2.3.2 répondre

Bootstrap, documentation fait référence à deux événements vous pouvez utiliser

masquer: Cet événement est déclenché immédiatement lorsque le cacher méthode d'instance a été appelé.
caché: Cet événement est déclenché lorsque le modal a fini d'être caché de l'utilisateur (va attendre pour les transitions css).

Et fournit un exemple sur la façon de les utiliser:

$('#myModal').on('hidden', function () {
    // do something…
})

90voto

Confused Points 170

Si votre div modale est ajouté dynamiquement, puis utiliser (pour 3 « bootstrap »)

Cela fonctionnera également pour le contenu non dynamiques.

20voto

leo Points 61

Il y a deux paires d’événements modales, un « show » et « montre », l’autre est « hide » et « caché ». Comme vous pouvez le voir sur le nom, masquer événement se déclenche lorsque modale s’agit de l’être proche, par exemple en cliquant sur la Croix sur le coin supérieur droit, bouton Fermer ou ainsi de suite. Alors que cachée est déclenché après le modal est effectivement proche. Vous pouvez tester ces événements à votre auto. Pour nécessairepour :

Et, quant à votre question, je pense que vous devriez écouter l’événement de « peau » de votre modal.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X