pracuję z Twitter Bootstrap w tej chwili, a ja napotykają dziwny problem w TabIndex z modalnego:Modal z TabIndex = „- 1” dostaje skupić się na karcie
Próbuję przejrzyj elementy formularza wewnątrz modalu, ale po ostatnim przycisku fokus zniknął przed powrotem do przycisku zamykania. Dodałem linię w konsoli, która rejestruje, który element jest skupiony, i okazał się być samym modalem, mimo że ma tabindex="-1"
.
Nie mogę udostępnić mojego kodu, ale szybkie sprawdzenie dokumentacji Bootstrap powiedziało mi, że dzieje się tak również w ich przykładowym modalu. Problemem jest odtwarzalny:
- Odwiedź http://getbootstrap.com/2.3.2/javascript.html#modals
- Otwórz modalne demo ("Uruchom Demo Modal" przycisk)
- Tab przez pola. Stracisz ostrość po "Zapisz zmiany", zanim wróci do przycisku zamykania.
Umieszczenie tego w konsoli rejestruje się, gdy modalny (lub w rzeczywistości jakikolwiek element z tabindex="-1"
) zyskuje ostrość.
$('[tabindex="-1"]').focus(function(){
console.log('Focus is on an element with negative tabindex')
});
(Loguje się również po kliknięciu modalu, ale jest to poza zakresem).
Dlaczego tak się dzieje? Jak mogę temu zapobiec? Czy jest to błąd przeglądarki, błąd/funkcja Twitter Bootstrap, czy coś zupełnie innego?
Wielkiej , dzięki. To zawsze wstyd, że trzeba użyć rozwiązania zastępczego * naprawdę * rozwiązania problemu, ale wydaje się, że działa tak, jak chcę :) –