keyDown vi darà la keyCode del tasto premuto, senza alcuna modifica.
$("#keypresser").keydown(function(e){
var keycode = e.keyCode;
var valid =
(keycode > 47 && keycode < 58) || // number keys
keycode == 32 || keycode == 13 || // spacebar & return key(s) (if you want to allow carriage returns)
(keycode > 64 && keycode < 91) || // letter keys
(keycode > 95 && keycode < 112) || // numpad keys
(keycode > 185 && keycode < 193) || // ;=,-./` (in order)
(keycode > 218 && keycode < 223); // [\]' (in order)
return valid;
});
Solo i tasti numerici, tasti delle lettere, e la barra spaziatrice dovranno keycodes correlando a String.fromCharCode
in quanto utilizza valori Unicode.
Keypress sarà la rappresentazione del codice carattere del testo immesso. Si noti che questo evento non si attiva se nessun testo viene "stampato" come risultato della pressione del tasto.
$("#keypresser").keypress(function(e){
var charcode = e.charCode;
var char = String.fromCharCode(charcode);
console.log(char);
});
http://jsfiddle.net/LZs2D/1/ Dimostrerà come funzionano.
KeyUp si comporta in modo simile a KeyDown.
Non credi che l'ho cercato su Google? Dai. Hai persino controllato quei risultati o hai semplicemente pensato di essere un idiota? – devios1
La parola che stai cercando è * stampabile *, molto probabilmente. Inoltre, sembra che 'keyCode' sia [sistema e dipendente dall'implementazione] (https://developer.mozilla.org/en-US/docs/DOM/KeyboardEvent#Key_values), che si traduce solo in problemi – Alexander
Vuoi dire" stampabile " "? Sicuramente per definizione ogni codice chiave è "tipizzabile" ... – nnnnnn