Modal mit tabindex="-1" wird der Fokus auf tab
Arbeite ich mit Twitter Bootstrap im moment, und ich bin der Begegnung ein seltsames problem, das in der tabindex-Eigenschaft eines modal:
Ich versuche auf die Registerkarte mit der Formular-Elemente innerhalb des modal, aber nach den letzten Knopf der Fokus verschwand, bevor Sie wieder auf die Schaltfläche "schließen". Ich habe eine Zeile in der Konsole, logs, welches element fokussiert wird, und es stellte sich heraus, dass der modal-selbst, obwohl es tabindex="-1"
.
Ich bin nicht in der Lage zu teilen mein code, aber ein kurzer Blick auf die Bootstrap docs haben mir gesagt, es geschieht auch in Ihrem Beispiel modal. Das problem ist reproduzierbar:
- Besuchen http://getbootstrap.com/2.3.2/javascript.html#modals
- Öffnen Sie die demo, modale ("Launch Demo Modal" - Taste)
- Tab durch die Felder. Verlieren Sie den Fokus nach "änderungen Speichern", bevor es zurück auf die schließen-Schaltfläche.
Setzen diese in der Konsole anmelden, wenn der modalen (oder in der Tat jedes element mit tabindex="-1"
) den Fokus erhält.
$('[tabindex="-1"]').focus(function(){
console.log('Focus is on an element with negative tabindex')
});
(Es wird auch protokolliert, wenn Sie klicken auf den modal offensichtlich, aber das ist out of scope).
Warum geschieht dies? Wie kann ich dies verhindern? Ist das ein browser-bug, ein bug/feature von Twitter Bootstrap, oder etwas ganz anderes?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Interessant finden. Es scheint sich um irgendeine Art von Fehler oder Verhalten eingeführt durch bootstrap; Sehr merkwürdiges Verhalten für die Registerkarte index -1.
Hier ist eine Arbeit um die Verwendung von jQuery, die mit der Einstellung einer
first
undlast
- id auf der ersten und letzten Registerkarte können Elemente auf den modal.Beispiel
http://www.bootply.com/96858
sich eigentlich, in die Sie Ihre wichtigsten modal div, können Sie es durch folgenden code
HTML-CODE
Dank Trevor. Dies ist mein letzter code: