Comment faire pour désactiver la Touche Escape pour Twitter Bootstrap des Modaux?
Dans une fenêtre modale, il existe une forme. Si je me concentre sur un champ de saisie (n'importe quel domaine que ce soit), et appuyez sur la touche ESC, qui modal est caché. Cependant, si je ne me focalise pas sur un champ de formulaire, puis en appuyant sur la touche ESC ne pas fermer la modale. Ce qui se passe?
Je veux désactiver la touche ECHAP fonctionnalité pour les auxiliaires modaux tout à fait. J'ai essayé ceci:
$(document).on('keypress', function(e) {
if(e.keyCode == 27) {
e.preventDefault();
return false;
}
}
Mais ceci n'affecte en rien. Est-il un moyen de désactiver complètement la touche ESC pour les auxiliaires modaux?
- Cochez cette question Interdire twitter bootstrap fenêtre modale de fermeture
- <a href="#l" data-clavier="true" data-toggle="modal">PopUp</a> <div class='modal fade' id='popupmodal' tabindex='-1" > <div class= "corps" > <div>Contenu</div> </div> </div> Ici tho choses sont les plus importants - d'abord vérifier les données-clavier="true" ET tabindex='-1', c'est ça. merci.
Vous devez vous connecter pour publier un commentaire.
En ajoutant
data-keyboard="false"
résout le problème.Quelque chose comme ceci:
<div class="modal hide fade" data-keyboard="false" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
De Twitter Bootstrap modal.js (voir http://getbootstrap.com/2.3.2/javascript.html#modals) a lui-même clavier Boolean true ou false. Vous pouvez éviter d'échapper à la pression de touche et cliquez en dehors de la modale à l'aide du script suivant:
de travail de démonstration :
JS:
HTML:
data-keyboard="false"
à la modale de l'élément, et ça fonctionne.keyboard:false
lorsque le modal est déjà montré n'a aucun effet. Ce paramètre évalué lorsque le modal est ouvert.Si votre boîte de dialogue modale ressemble à ceci
Retrait tabindex="-1" devez désactiver la touche Escape.
Définir le clavier de la valeur à false!
Exemple:
OU si vous utilisez JavaScript:
de travail de démonstration :
HTML:
Demo JQuery Code
$('#myModal').modal({afficher: vrai, clavier: false});
Vous pouvez cibler qu'une saisie spécifique par l'ajout d'un ID et simplement la suppression de l'événement keydown pour entrer de la sorte:
JS
Cet exemple fonctionne avec la Touche Enter.