Manejo de claves JavaScript y compatibilidad del navegador

Estoy trabajando en el manejo de claves en Java Script. He investigado un poco y me gustaría saber si tengo una comprensión correcta del manejo de claves.

Evento KeyDown / KeyUp Los eventos key down y key up son compatibles con IE7 + y Firefox 3.5+. No verifiqué las versiones anteriores de los navegadores, pero supongo que también admiten estos eventos.

¿Es correcto decir que cada tecla del teclado siempre tendrá un código clave?

CharCode

El valor de CharCode está disponible al presionar la tecla. La mayoría de las teclas tendrá los códigos de char que representan el valor real. Algunas teclas no tendrán un código de char asociado con ellas. P.ej. retroceso, eliminar, teclas de flecha.

¿Estoy en lo cierto al decir que al presionar la tecla el código de acceso será el mismo que el código de acceso?

Orden de los eventos.

KeyDownKeyPressTecla Arriba

¿Este orden difiere de un navegador a otro? Por ejemplo tengo dos funciones. El primero está vinculado al evento KeyDown, el segundo está vinculado al evento KeyPress. Llamar a un evento de KeyPress significa que también se llamará al evento KeyDown, cuando quiera que solo uno de estos eventos funcione.

Finalmente, he estado considerando usar diferentes rutinas de manejo de claves dependiendo de la versión del navegador. Por ejemplo:

Verifique la versión del navegadorObtenga una rutina de manejo de claves dependiendo de la versión del navegador

Esto introducirá código adicional, pero debería simplificar el mantenimiento. Además, en el futuro, cuando quiera proporcionar soporte para un navegador diferente, simplemente puedo agregar otra rutina y no afectará la rutina de manejo de caracteres existente.

Hasta ahora he estado leyendohttp://www.quirksmode.org

Respuestas a la pregunta(3)

Su respuesta a la pregunta