keyDown daje keyCode klawisza przycisku, bez żadnych modyfikacji.
$("#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;
});
Tylko klawiszy numerycznych, klawiszy iz spacja będzie mieć kody klawiszy korelowanie do String.fromCharCode
ponieważ używa wartości Unicode.
Keypress będzie reprezentacją kodu znaków wprowadzonego tekstu. Zwróć uwagę, że to zdarzenie nie zostanie wywołane, jeśli żaden tekst nie zostanie "wydrukowany" w wyniku naciśnięcia klawisza.
$("#keypresser").keypress(function(e){
var charcode = e.charCode;
var char = String.fromCharCode(charcode);
console.log(char);
});
http://jsfiddle.net/LZs2D/1/ Pokaże, jak to działa.
KeyUp zachowuje się podobnie do KeyDown.
Nie myślisz, że najpierw go wylogowałem? Daj spokój. Czy sprawdziłeś te wyniki lub po prostu założyłeś, że jestem idiotą? – devios1
Szukane słowo to * możliwe do wydrukowania *, najprawdopodobniej. Wydaje się również, że 'keyCode' jest [zależny od systemu i implementacji] (https://developer.mozilla.org/en-US/docs/DOM/KeyboardEvent#Key_values), co tylko rodzi problemy – Alexander
Czy masz na myśli" printable "? Z pewnością każdy kod jest "możliwy do wpisania" ... – nnnnnn