Actualmente estoy trabajando en una aplicación web que requiere una barra de menú de aplicaciones de escritorio estándar. Empecé a trabajar en la barra de menú y ordené el diseño.
Desafortunadamente, el cliente quiere que las teclas de acceso (como Alt + F) carguen el menú "Archivo". Cuando se presiona la tecla Alt, quiero mostrar las teclas de acceso. Actualmente tengo el siguiente código de jQuery para manejar esto:
$(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' }); }
});
});
Por desgracia, como se verá en la jsFiddle, por alguna razón en Google Chrome, al presionar Alt, las teclas están subrayados, a continuación, normalizado en keyup. Sin embargo, presionar Alt nuevamente no hace nada, hasta la próxima vez que se presiona. Es casi como si una vez que se haya hecho el subrayado y se haya disparado keyup
, no registra la tecla hasta que no se presione nuevamente.
Aquí está la demostración jsFiddle>http://jsfiddle.net/Ht2wD/
sería recibida con gratitud Cualquier ayuda!
Funciona para mí - el subrayado se enciende y apaga cada vez que se presiona y suelta ALT. Chrome 13.0.782.220 en MacOS 10.7.1 – Alnitak
@Alnitak - Extraño, no funciona para mí en la misma versión exacta de Chrome en Windows 7. –
Parece ser un problema con 13.0.782.220 en Windows. – BenM