problema: webkit envía un código clave 38 (flecha arriba) para presionar las teclas al hacer shift-7 (ampersand).
Resumen: & y hasta ambos iguales 38.% y dejó ambas iguales 37. 'y derecha iguales 39. (y abajo ambos iguales a 40. Firefox y Opera, el 37/38/39/40 aren 'enviado para &,%,', (. ellos solo los envían para arriba, abajo, izquierda, derecha. pero webkit y es decir, envían 37/38/39/40 para ambas teclas de flecha y &,%, ', (. tenga en cuenta que para arriba/abajo/izquierda/derecha, webkit establece charCode en 0, pero no en &,%, ', (.
solución: por lo que si el manejo de esos eventos por código clave, es necesario ignorar cuando la tecla de mayúsculas está inactivo o comprobar si el charCode es 0
- mejor recurso: http://unixpapa.com/js/key.html
- prueba una navegador: http://asquare.net/javascript/tests/KeyCode.html
- bugs.jquery.com/ticket/7300. "Esto se hace para que coincida con el IE. Se supone que los eventos de pulsación de tecla solo se activan para las teclas que insertan caracteres. Tenga en cuenta que la combinación de teclas/teclado se dispara para las teclas de flecha".
- Interesante proyecto: github.com/OscarGodson/jKey
Esto se debe a que existen diferencias en la forma de adjuntar un evento a un nodo DOM entre los navegadores. No estoy seguro de cuál es el código exacto para los diferentes navegadores. – bigblind