Interdire Twitter Bootstrap fenêtre modale de la fermeture
Je suis entrain de créer une fenêtre modale à l'aide de Twitter Bootstrap. Le comportement par défaut si vous cliquez à l'extérieur de la modale de la zone, le modal se ferme automatiquement. Je voudrais désactiver -- c'est à dire de ne pas fermer la fenêtre modale lorsque vous cliquez à l'extérieur de l'modal.
Quelqu'un peut-il partager jQuery code pour faire cela?
- Vous pouvez avoir une raison parfaitement valide pour ce faire (et il y a probablement beaucoup d'autres). Cependant, il est intéressant de noter qu'en général, les UX de considérations déconseille ce-que la plupart des utilisateurs s'attendre à ce que cliquant de un modal apportera le contenu "ci-dessous" pour le "front".
- C'est comme le contraire de modal.
- si, si il y a une page à l'arrière-plan qui ne peut être activé que si le login de l'utilisateur en premier. En cliquant sur le modal sur le bouton Ok, l'utilisateur sera redirigé vers la page de connexion. Si l'utilisateur peut simplement cliquer, cela signifie que l'utilisateur de sauter la page de connexion et le simple accès à la page de connexion. Tout L'Enfer Se Détacher
- Je ne vois pas de preuve à l'appui de votre demande.
Vous devez vous connecter pour publier un commentaire.
Je crois que vous voulez définir le toile de fond la valeur à statique. Si vous voulez éviter la fermeture de la fenêtre lors de l'utilisation de l' Esc clé, vous devez définir une autre valeur.
Exemple:
OU si vous utilisez JavaScript:
backdrop
etkeyboard
valeurs à l'aide de javascript, mais a été en mesure de le corriger, en plus, la spécification deshow
, comme affiché ici.Il suffit de régler le
backdrop
propriété'static'
.Vous pouvez également définir la
keyboard
propriétéfalse
raison qui empêche la modale d'être fermé en appuyant sur Esc touche sur le clavier.myModal
est l'ID de la div qui contient votre modal de contenu.backdrop
etkeyboard
sont mentionnés ici dans leur documentation la Options de la section.Vous pouvez également inclure ces attributs dans le modèle de définition de lui-même:
Si vous avez déjà initialisé la fenêtre modale, alors vous pouvez réinitialiser les options avec
$('#myModal').removeData("modal").modal({backdrop: 'static', keyboard: false})
pour s'assurer qu'il appliquera les nouvelles options.Remplacer le Bootstrap "cacher" les événements de Dialogue et d'arrêter son comportement par défaut (à jeter la boîte de dialogue).
Veuillez consulter ci-dessous l'extrait de code:
Il fonctionne très bien dans notre cas.
Oui, vous pouvez le faire comme ceci:
Un peu comme @AymKdn réponse, mais cela vous permettra de modifier les options, sans ré-initialisation du modal.
Ou si vous avez besoin de faire de multiples options, JavaScript
with
est très pratique ici!Si le modal est déjà ouvert, ces options ne prendra effet que le prochaine fois le modal est ouvert.
Juste ajouter ces deux choses
Il ressemblera à ceci maintenant
Il permet de désactiver le bouton d'échappement et aussi le cliquez n'importe où et de se cacher.
Vous pouvez désactiver l'arrière-plan cliquez sur pour fermer le comportement et choisir par défaut pour tous vos auxiliaires modaux en ajoutant ce code JavaScript sur votre page (assurez-vous qu'il est exécuté après jQuery et Bootstrap JS sont chargés):
Comme D3VELOPER dit, le code suivant à résoudre:
Je suis en utilisant à la fois jquery & bootstrap et simplement
removeData('modal')
ne fonctionnent pas.Le meilleur que j'ai trouvé est d'ajouter ce code pour le lien
Au cas où quelqu'un vient ici à partir de Google à essayer de comprendre comment empêcher quelqu'un de la fermeture d'un modal, n'oubliez pas qu'il y a également un bouton de fermeture en haut à droite de l'modal qui doit être retiré.
J'ai utilisé un peu de CSS pour le cacher:
Notez que l'utilisation de "display: none;" est remplacée lorsque vous le modal est créé, afin de ne pas l'utiliser.
Si vous voulez conditionnellement désactiver le
backdrop click closing
fonctionnalité. Vous pouvez utiliser la ligne suivante pour définir labackdrop
option pourstatic
au cours de l'exécution.Bootstrap v3.xx
Bootstrap v2.xx
Cela permettra d'éviter un déjà instancié modèle avec
backdrop
optionfalse
(le comportement par défaut), à compter de la clôture.Vous pouvez définir le comportement par défaut de modal popup en utilisant des dessous de la ligne de code:
Faire c'est très facile de nos jours. Juste ajouter:
Dans votre modal diviseur.
Bien, c'est une autre solution que certains d'entre vous les gars peut-être (comme je l'ai été..)
Mon problème était similaire, le modal box a été la fermeture de tout l'iframe que j'avais à l'intérieur était en train de charger, donc j'ai dû désactiver le modal rejeter jusqu'à ce que l'Iframe finit de se charger, puis de le ré-activer.
Les solutions présentées ici n'ont pas de travail de 100%.
Ma solution était:
J'ai donc empêcher temporairement la Modale de clôture avec:
Mais vec le var is_loading qui permettra de l'activer à nouveau la fermeture après l'Iframe a chargé.
Pour mettre à Jour la toile de fond de l'état dans le Bootstrap 4.1.3 après le modal ont été l'Affichage, Nous avons utilisé la ligne suivante à partir de Bootstrap-Modal-Wrapper plugin. Référentiel de plug-in code de référence.