Obecnie pracuję nad aplikacją internetową, która wymaga standardowego paska menu aplikacji pulpitu. Zacząłem pracować na pasku menu i sortowałem układ.
Niestety, klient chce mieć klucze dostępu (takie jak Alt + F) ładuje menu "Plik". Po naciśnięciu klawisza Alt chcę pokazać klawisze dostępu. Obecnie mam następujący kod jQuery do obsługi to:
$(document).ready(function() {
$(this).keydown(function(e) {
if(e.keyCode == 18) { alt_shifter = true; $('.access_key').css({ textDecoration: 'underline' }); }
});
$(this).keyup(function(e) {
if(e.keyCode == 18) { alt_shifter = false; $('.access_key').css({ textDecoration: 'none' }); }
});
});
Niestety, jak zobaczysz na jsFiddle, z jakiegoś powodu w Google Chrome, gdy naciskając klawisz Alt, klawisze są podkreślone, a następnie znormalizowany na keyup. Jednak ponowne naciśnięcie klawisza Alt nic nie robi, dopóki następnym razem nie zostanie naciśnięty. To prawie tak, jakby po wykonaniu podkreślenia i uruchomieniu keyup
, nie zarejestruje on kluczowania, dopóki nie zostanie ponownie naciśnięty.
Oto demo jsFiddle>http://jsfiddle.net/Ht2wD/
Każda pomoc będzie najbardziej wdzięcznością otrzymał!
Działa na mnie - podkreślenie włącza się i wyłącza za każdym naciśnięciem i zwolnieniem przycisku ALT. Chrome 13.0.782.220 na MacOS 10.7.1 – Alnitak
@Alnitak - Dziwne, to nie działa dla mnie w tej samej wersji Chrome pod Windows 7. –
Wydaje się być problem z 13.0.782.220 w systemie Windows. – BenM