En primer lugar, el siguiente es un recurso útil: http://unixpapa.com/js/key.html
En segundo lugar, usted debe saber que hay una diferencia entre keydown (o keyup) y la pulsación de tecla . la pulsación de tecla no suele permitir las teclas modificadoras, aunque sí permite algunas en el control Opera. Es mejor usar la clave para la coherencia entre navegadores.
me sale === keyCode 13 en Opera 11.10 no importa si se entra en el cuadro de texto o no, y no importa si el uso de prototipos así:
Event.observe(document, 'keydown', function (e) {
alert(e.charCode+'::'+e.keyCode);
});
o utilizando el método nativo directamente (utilizando para attachEvent IE):
if (document.addEventListener) {
document.addEventListener('keydown', function (e) {
alert(e.charCode+'::'+e.keyCode);
}, false);
}
else { // IE
document.attachEvent('onkeypress', function (e) {
alert(e.charCode+'::'+e.keyCode);
});
}
sin embargo, alt es de hecho no se detecta dentro de un cuadro de texto a menos que se combina con una clave de control o la función (a pesar de que no funciona en Chrome o IE). Esto puede deberse a que Windows usa alt para dar acceso a la barra de menú de las aplicaciones.
Puede intentar usar la tecla de control y usar preventDefault() (para evitar comportamientos predeterminados como ctrl-f haciendo una búsqueda de página) aunque esto podría molestar a los usuarios que podrían no desear que el navegador se deshabilite para su página.