Je crée une fenêtre modale en utilisant Twitter Bootstrap. Le comportement par défaut est que si vous cliquez en dehors de la zone modale, le modal se fermera automatiquement. Je voudrais désactiver cela - c'est-à-dire ne pas fermer la fenêtre modale lorsque vous cliquez en dehors du modal.
Quelqu'un peut-il partager le code jQuery pour ce faire?
jquery
twitter-bootstrap
modal-dialog
mouseclick-event
user1296175
la source
la source
Réponses:
Je pense que vous souhaitez définir la valeur de fond sur statique . Si vous souhaitez éviter la fermeture de la fenêtre lors de l'utilisation de la Escclé, vous devez définir une autre valeur.
Exemple:
OU si vous utilisez JavaScript:
la source
Définissez simplement la
backdrop
propriété sur'static'
.Vous pouvez également définir la
keyboard
propriété surfalse
car cela empêche la fermeture du modal en appuyant sur la Esctouche du clavier.myModal
est l'ID de la div qui contient votre contenu modal.la source
backdrop
etkeyboard
sont mentionnés ici dans leur documentation sous la section Options .Vous pouvez également inclure ces attributs dans la définition modale elle-même:
la source
Si vous avez déjà initialisé la fenêtre modale, vous souhaiterez peut-être réinitialiser les options avec
$('#myModal').removeData("modal").modal({backdrop: 'static', keyboard: false})
pour vous assurer qu'elle appliquera les nouvelles options.la source
Substituez l'événement Bootstrap 'hide' de Dialog et arrêtez son comportement par défaut (pour supprimer la boîte de dialogue).
Veuillez consulter l'extrait de code ci-dessous:
Cela fonctionne bien dans notre cas.
la source
Oui, vous pouvez le faire comme ceci:
la source
Un peu comme la réponse de @ AymKdn, mais cela vous permettra de changer les options sans réinitialiser le modal.
Ou si vous devez faire plusieurs options, JavaScript
with
est utile ici!Si le modal est déjà ouvert, ces options ne prendront effet qu'à la prochaine ouverture du modal.
la source
Ajoutez simplement ces deux choses
Cela ressemblera à ceci maintenant
Il désactivera le bouton d'échappement et également le clic n'importe où et se cachera.
la source
Vous pouvez désactiver le comportement de clic pour fermer de l'arrière-plan et en faire la valeur par défaut pour tous vos modaux en ajoutant ce JavaScript à votre page (assurez-vous qu'il est exécuté après le chargement de jQuery et Bootstrap JS):
la source
Comme le dit D3VELOPER, le code suivant le résout:
J'utilise à la fois jquery et bootstrap et
removeData('modal')
ne fonctionne tout simplement pas.la source
Le mieux que j'ai trouvé est d'ajouter ce code au lien
la source
Au cas où quelqu'un viendrait ici de Google essayant de comprendre comment empêcher quelqu'un de fermer un modal, n'oubliez pas qu'il y a aussi un bouton de fermeture en haut à droite du modal qui doit être supprimé.
J'ai utilisé du CSS pour le cacher:
Notez que l'utilisation de "display: none;" est écrasé lorsque le modal est créé, alors ne l'utilisez pas.
la source
Si vous souhaitez désactiver conditionnellement la
backdrop click closing
fonctionnalité. Vous pouvez utiliser la ligne suivante pour définir l'backdrop
optionstatic
pendant l'exécution.Bootstrap v3.xx
Bootstrap v2.xx
Cela empêchera un modèle déjà instancié avec l'
backdrop
option définie surfalse
( le comportement par défaut ) de se fermer.la source
Vous pouvez définir le comportement par défaut du popup modal en utilisant la ligne de code ci-dessous:
la source
Faire cela est très facile de nos jours. Ajoutez simplement:
Dans votre séparateur modal.
la source
Eh bien, c'est une autre solution que certains d'entre vous pourraient rechercher (comme je l'étais ..)
Mon problème était similaire, la boîte modale se fermait pendant le chargement de l'iframe que j'avais à l'intérieur, j'ai donc dû désactiver la suppression modale jusqu'à ce que l'iframe termine le chargement, puis réactiver.
Les solutions présentées ici ne fonctionnaient pas à 100%.
Ma solution était la suivante:
J'empêche donc temporairement le Modal de se fermer avec:
Mais avec la var is_loading qui réactivera la fermeture après le chargement de l'Iframe.
la source
la source
Pour mettre à jour l'état de la toile de fond dans Bootstrap 4.1.3 après l'affichage du modal, nous avons utilisé la ligne suivante du plugin Bootstrap-Modal-Wrapper . Référence du code du référentiel de plugins .
la source