J'avais l'habitude d'utiliser la boîte de dialogue de JQuery UI, et il y avait l' open
option, où vous pouvez spécifier du code Javascript à exécuter une fois la boîte de dialogue ouverte. J'aurais utilisé cette option pour sélectionner le texte dans la boîte de dialogue en utilisant une fonction que j'ai.
Maintenant, je veux faire cela en utilisant le modal de bootstrap. Voici le code HTMl:
<div id="code" class="modal hide fade">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3>Modal header</h3>
</div>
<div class="modal-body">
<pre>
print 'Hello World'
Et comme pour le bouton qui ouvre le modal:
<a href="#code" data-toggle="modal" class="btn code-dialog">Display code</a>
J'ai essayé d'utiliser un écouteur onclick du bouton, mais le message d'alerte était affiché avant l'apparition du modal:
$( ".code-dialog" ).click(function(){
alert("I want this to appear after the modal has opened!");
});
javascript
jquery
jquery-ui
twitter-bootstrap
modal-dialog
Mohamed Khamis
la source
la source
shown.bs.modal
L'événement se produit lorsque le document HTML contient au moins une<div class="modal fade"><div class="modal-dialog"></div></div>
structure.Réponses:
Vous pouvez utiliser l' événement / spectacle affiché en fonction de ce dont vous avez besoin:
Démo: Plunker
Mise à jour pour Bootstrap 3.0
Pour Bootstrap 3.0, vous pouvez toujours utiliser l'événement affiché, mais vous l'utiliseriez comme ceci:
Consultez la documentation de Bootstrap 3.0 ici sous «Événements».
la source
$("#code").on("shown.bs.modal", function(e) {})
pour bootstrap 3.0.#code
fait référence au sélecteur jQuery, l'un des ingrédients de base de jQuery: w3schools.com/jquery/jquery_selectors.asp$(document).on("shown.bs.modal", ...
pour l'écoute globalene fonctionnera pas .. utiliser à la
$(window)
placePour montrer
Pour se cacher
la source
if( $('#code').is( e.relatedTarget ) ) { ... }
car j'avais plusieurs sur la page.vous pouvez utiliser
show
au lieu deshown
pour que la fonction se charge juste avant l'ouverture modale, plutôt qu'après l'ouverture modale.la source
Le modal Bootstrap expose les événements. Écoutez l'
shown
événement comme celui-cila source
si quelqu'un a encore un problème, la seule chose qui fonctionne parfaitement pour moi en utilisant (shared.bs.modal):
la source
Vous pouvez utiliser le code belw pour afficher et masquer le modèle bootstrap.
et si vous souhaitez masquer le modèle, vous pouvez utiliser le code ci-dessous.
J'espère que cette réponse est utile pour votre projet.
la source