Je fais un site Web de bootstrap, avec quelques 'Modals' de Bootstrap. J'essaie de personnaliser certaines des fonctionnalités par défaut.
Le problème est le suivant; Vous pouvez fermer le modal en cliquant sur l'arrière-plan. Est-il possible de désactiver cette fonctionnalité? Sur les modaux spécifiques uniquement?
javascript
css
twitter-bootstrap
modal-dialog
Intellectuel
la source
la source
Réponses:
Dans le chapitre Options, dans la page que vous avez liée, vous pouvez voir l'
backdrop
option. Passer cette option avec une valeur'static'
empêchera la fermeture du modal.Comme @PedroVagner l'a souligné sur les commentaires, vous pouvez également passer
{keyboard: false}
pour empêcher la fermeture du modal en appuyant sur Esc.Si vous ouvrez le modal par js, utilisez:
Si vous utilisez des attributs de données, utilisez:
la source
$('#modal').modal('show');
cela ne vous aide!C'est le plus simple
Vous pouvez définir votre comportement modal, en définissant le clavier de données et le fond de données.
la source
data-backdrop="static"
option sur la définition modale, pas le bouton déclencheur qui ouvre le modal comme spécifié dans d'autres réponses, a fonctionné pour moi.Vous pouvez utiliser un attribut comme celui-ci:
data-backdrop="static"
ou avec javascript:Voir aussi cette réponse: interdire la fermeture de la fenêtre modale de bootstrap twitter
la source
Dans mon application, j'utilise le code ci-dessous pour afficher Bootstrap modal via jQuery.
la source
Vous pouvez utiliser
pour modifier le comportement par défaut.
la source
Il existe deux façons de désactiver le clic en dehors de la zone du modèle d'amorçage pour fermer le module.
en utilisant javascript
en utilisant l'attribut de données dans la balise HTML
la source
Regarde ça ::
la source
Une autre option si vous ne savez pas si le modal a déjà été ouvert ou pas encore et que vous devez configurer les options modales:
Changez les options en _config
la source
_setEscapeEvent()
place de.escape()
?La solution qui fonctionne pour moi est la suivante:
toile de fond: désactivé l'événement Click Outside
clavier: désactivé l'événement de mot-clé scape
la source
essayez ceci, pendant le développement de mon application ... j'ai également rencontré le problème que les valeurs par défaut pour un attribut de modèle =>
data-keyboard="true"
, =>data-backdrop="non static"
J'espère que cela vous aidera!
la source
Essaye ça:
la source
TLDR
backdrop: 'static'
https://getbootstrap.com/docs/3.3/javascript/#modals-options
la source
aucune de ces solutions n'a fonctionné pour moi.
J'ai un modal de conditions générales que je voulais forcer les gens à réviser avant de continuer ... les valeurs par défaut "statique" et "clavier" selon les options rendaient impossible de faire défiler la page car les termes et conditions sont de quelques pages log, statique n'était pas la réponse pour moi.
Au lieu de cela, je suis allé délier la méthode click sur le modal, avec ce qui suit, j'ai pu obtenir l'effet souhaité.
$('.modal').off('click');
la source
la source
Si vous utilisez @ ng-bootstrap, utilisez ce qui suit:
Composant
Modèle
Ce code a été testé sur angular 9 en utilisant:
"@ ng-bootstrap / ng-bootstrap": "^ 6.1.0",
"bootstrap": "^ 4.4.1",
la source
Utilisez-le si vous souhaitez désactiver le clic externe pour tous les modaux utilisant jQuery. Ajoutez ce script à votre Javascript après jQuery.
la source
Vous pouvez également le faire sans utiliser JQuery, comme ceci:
la source
Ajoutez le css ci-dessous selon votre taille d'écran.
la source