J'ai un type de bienvenue bootstrap-modal sur la page d'accueil qui montre trois boutons, chacun d'entre eux devrait charger différentes pages
ici il s'agit d'un extrait pertinent du HTML P>
$(window).load(function(){ $('#welcomeModal').modal('show'); }); $('#welcomeModal').on('hidden.bs.modal', function (e) { if (e.id == 'taketour') { $(window).location=e.href; } if (e.id == 'login') { $('#welomeModal').remote='element-login'; } });
4 Réponses :
Le E qui est passé est l'objet d'événement, vous pouvez utiliser E.Target pour obtenir le HTMLElement qui a été enfoncé pour déclencher cet événement. P>
Ce n'est pas vrai, le event.target code> est le modal lui-même dans tous les cas.
au lieu de et au lieu de regarder E, essayez d'envisager hidden.bs.modal code>, consultez
masquer.bs.modal code>, qui est tiré avant la fermeture de la boîte de dialogue. p>
document.activeelement code> (comme
document.activeelement.innertext code> ou
document.activeelement.id code >). P>
Cela échoue sur iPhone 6 .. ActiveLement est null
Normalement le cas que l'utilisateur ferme la boîte de dialogue modale à l'aide de la touche du clavier ESC est également dans le cas où l'utilisateur le fermait à l'aide d'une toile de fond (cliquez sur l'arrière-plan), donc la seule chose à laquelle j'ai été nécessaire de détecter est si le Utilisateur Fermer la boîte de dialogue modale à l'aide du bouton Fermer ou non? REMARQUE: Ce script à l'aide de masquer.bs.modal code> et non
caché_modal_bs code> . L'événement caché incendie après la fermeture modale a déjà été fermé, dans ce cas, vous n'avez pas besoin de veiller à sa fermeture, normalement, vous devez détecter la manière dont il se ferme avant d'approuver de fermer la boîte de dialogue (à l'aide de
Retour TRUE CODE > ou
false code> dans le
masquer.bs.modal code> événement). p> p>
Méfiez-vous que Calling .hide () code> manuellement sera également considéré comme si vous appuyez sur Echap (comme document.activeLement est défini sur le corps).
pour bootstrap 3.3.4 et antérieur, pour le Il y a un problème pour cela sur la page du projet Bootstrap: # 15408: Obtenez une cause d'événement caché.bs.modal qui a été déployé dans un billet plus générique ( BOOTSTRAP numéro # 15393 ) pour le transfert de l'événement de déclenchement d'origine dans la file d'attente (pour le 4,0 Milestone). P> en tant que Remarque latérale, j'ai utilisé la solution de contournement suivante (à l'aide d'une variable pour stocker le déclencheur d'événement d'origine): p> Dans votre cas, vous devrez ajouter les gestionnaires d'événements suivants : p> Veuillez noter que lorsque vos boutons ont le masquer.bs.modal code> et
Hidden.bs.modal code> événements, l'événement
Event code> Passé aux gestionnaires contient
Data-Data-Data-Synsiss = "modal" attribut code>, le modal
Eventtrigger code>
modal code> est caché, c'est-à-dire avant la
Hidden.bs.Modal CODE> Evénement, votre gestionnaire pour l'événement peut être un simple interrupteur
code>: p>
Avez-vous trouvé une solution?
PS J'ai besoin de détecter c'est des données - licenciement = "modal" ou autre chose.
J'ai géré cela en ayant les boutons qui soumettent des événements, par exemple:
$ (". Modal .Modal-pied de page .btn"). Cliquez sur (Fonction (this) {$ ("Modal"). Déclencheur (". $ .Event ('buttonclick.bs.mo dal', this));}); code>