it-swarm.com.de

Wie kann ich Escape Key für Twitter Bootstrap Modals deaktivieren?

In einem gezeigten Modal gibt es ein Formular. Wenn ich mich auf ein Eingabefeld (ein beliebiges Feld für diese Angelegenheit) konzentriere und die ESC-Taste drücke, wird dieser Modalmodus ausgeblendet. Wenn ich mich jedoch nicht auf ein Formularfeld konzentriere, wird das modale nicht durch Drücken der ESC-Taste geschlossen. Was ist los?

Ich möchte die ESC-Tastenfunktionalität für die Modals vollständig deaktivieren. Ich habe das versucht:

$(document).on('keypress', function(e) {
  if(e.keyCode == 27) {
    e.preventDefault();
    return false;
  }
}

Dies wirkt sich jedoch nicht auf irgendetwas aus. Gibt es eine Möglichkeit, die ESC-Taste für Modals vollständig zu deaktivieren?

38
user1863635

Durch Hinzufügen von data-keyboard="false" wird das Problem behoben.

Etwas wie dieses: <div class="modal hide fade" data-keyboard="false" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">

47
ptCoder

Twitter's Bootstrap modal.js (siehe http://getbootstrap.com/2.3.2/javascript.html#modals ) selbst hat die Tastatur wahr oder falsch Boolean. Sie können Escape-Tastendruck vermeiden und mit folgendem Skript außerhalb des Modals klicken:

    $(function () {
        $('.modal').modal({
            show: true,
            keyboard: false,
            backdrop: 'static'
        });
    });
41
Ravimallya

Wenn Ihr modaler Dialog so aussieht

<div id="myModal" class="modal hide fade" tabindex="-1" ...>
   ....
</div>

Entfernen von tabindex = "- 1" sollte die Escape-Taste deaktivieren.

38
detale

sie benötigen data-keyboard = "false" allong mit tabindex = "- 1" und data-backdrop = "static"

so wird das letzte Tag wie sein

<div class="modal" id="myModal" data-toggle="modal"  tabindex="-1" role="dialog" aria-labelledby="Information" data-backdrop="static" aria-hidden="true" data-keyboard="false">
  .
  .
  .
  
  </div>

7
GauravB

Setzen Sie den Tastaturwert auf "false"!

Beispiel:

<a data-controls-modal="myModal"
   data-backdrop="static"
   data-keyboard="false"
   href="#">

ODER wenn Sie JavaScript verwenden:

$(function () {
$('.modal').modal({
  backdrop: 'static',
  keyboard: false
});
}
7
Mary Hitchings
> Tastatur: wahr 

 Schließt das Modal, wenn die Escape-Taste gedrückt wird .

> Keyboard: false Verhindern Sie, dass der Modal geschlossen wird, wenn die Escape-Taste gedrückt wird 

Demo-JQuery-Code  

$ ('# myModal'). modal ({show: true, keyboard: false});

0
anupammondal.in