Je suis vraiment un noob, donc je pense que je supervise quelque chose (probablement évident) avec Twitter bootstrap modal. Ce que j'essaie de faire, c'est d'obtenir un modal à lancer uniquement sur mobile. Cela fonctionne bien avec l'ajout de la classe .visible-phone sur la div modale. Jusqu'ici tout va bien. Mais ensuite, je veux que cela fonctionne, ce qui signifie que vous pouvez le fermer avec le bouton X. Et je ne peux pas faire fonctionner le bouton.
<div class="modal visible-phone" id="myModal">
<div class="modal-header">
<button class="close" data-dismiss="modal">×</button>
<h3>text introductory<br>want to navigate to...</h3>
</div>
<div class="modal-body">
<ul class="nav">
<li> ... list of links here </li>
</ul>
</div>
</div>
Au bas du html, j'ai mis jquery.js (en premier) et bootstrap.modal.js et bootstrap.transition.js. En fait, tous les modules bootstrap js (à ne pas manquer). Je n'ai pas d'expérience avec js ..
Veuillez me pardonner si j'ai posé un Q. vraiment stupide. Je n'ai pas trouvé la réponse à cette situation spécifique dans le journal.
la source
$('#myModal').modal('show')
ça marche pour moi, mais pas cacher.$('#myModal').modal('toggle');
placeJ'ai eu des problèmes pour fermer la boîte de dialogue modale bootstrap, si elle était ouverte avec:
J'ai résolu ce problème en ouvrant la boîte de dialogue par le lien suivant:
N'oubliez pas l'initialisation:
J'ai également utilisé les attributs suivants pour le bouton de fermeture:
la source
Ajouter la classe hide au modal
Code Javascript
la source
.modal ('hide') masque manuellement un modal. Utilisez le code suivant pour fermer votre modèle bootstrap
Jetez un oeil au travail codepen ici
Ou
Essayez ici
Afficher l'extrait de code
la source
Essayez de spécifier exactement le modal que le bouton doit fermer avec data-target. Donc, votre bouton devrait ressembler à ce qui suit -
De plus, vous ne devriez avoir besoin que de bootstrap.modal.js pour pouvoir supprimer les autres en toute sécurité.
Modifier: si cela ne fonctionne pas, supprimez la classe de téléphone visible et testez-la sur le navigateur de votre PC au lieu du téléphone. Cela montrera si vous obtenez des erreurs javascript ou si c'est un problème de compatibilité par exemple.
Edit: code de démonstration
la source
code
<div class = "modal visible-phone" id = "myModal"> <div class = "modal-header"> <button class = "close" data-licenciement = "modal" data-target = "# myModal"> × </button> <h3> texte d'introduction <br> vous voulez accéder à ... </h3> </div> <div class = "modal-body"> <ul class = "nav"> <li> .. . liste de liens ici </li> <li> link2 </li> <li> link3 </li> </ul> </div> </div>code
<div class="modal visible-phone" id="myModal"> <div class="modal-header"> <button class="close" data-dismiss="modal" data-target="#myModal">×</button> <h3>text introductory<br>want to navigate to...</h3> </div> <div class="modal-body"> <ul class="nav"> <li> ... list of links here </li> <li> link2 </li> <li> link3 </li> </ul> </div> </div>
Selon la documentaion, cacher / basculer devrait fonctionner. Mais ce n'est pas le cas.
Voici comment je l'ai fait
la source
$("#modal-id").modal("toggle"); $(".modal-backdrop").fadeOut('fast',function(){ $("body").removeClass( "modal-open" ); $(".modal-backdrop").remove(); });
Essayez ceci.
la source
J'ai eu le même problème dans l'iphone ou le bureau, je n'ai pas réussi à fermer la boîte de dialogue en appuyant sur le bouton de fermeture.
J'ai découvert que la
<button>
balise définit un bouton cliquable et est nécessaire pour spécifier l'attribut type d'un élément comme suit:Vérifiez l'exemple de code pour les modaux bootstrap sur: Page javascript BootStrap
la source
Si vous avez peu de modaux affichés simultanément, vous pouvez spécifier le modal cible pour le bouton in-modal avec des attributs
data-toggle
etdata-target
:Quelque part en dehors du code modal, vous pouvez avoir un autre bouton bascule:
L'utilisateur ne peut pas cliquer sur le bouton bascule in-modal tant que ce bouton est masqué et qu'il fonctionne correctement avec l'option
"modal"
pour l'attributdata-toggle
. Ce schéma fonctionne automatiquement!la source
Voici un extrait de code non seulement pour fermer les modaux sans actualisation de la page, mais en appuyant sur Entrée, il soumet le modal et se ferme sans actualisation
Je l'ai configuré sur mon site où je peux avoir plusieurs modaux et certains modaux traitent les données lors de la soumission et d'autres non. Ce que je fais, c'est créer un identifiant unique pour chaque modal qui effectue le traitement. Par exemple dans ma page Web:
HTML (pied de page modal):
jQUERY:
Comme vous pouvez le voir, cette soumission effectue un traitement, c'est pourquoi j'ai ce jQuery pour ce modal. Maintenant, disons que j'ai un autre modal dans cette page Web mais aucun traitement n'est effectué et comme un modal est ouvert à la fois, j'en mets un autre
$(document).ready()
dans un script global php / js que toutes les pages obtiennent et je donne au bouton de fermeture du modal une classe appelée".modal-close"
::HTML:
jQuery (incluez global.inc):
la source