W poniższym kodzie:jQuery klawisz w górę/w dół wykrywanie klawiszy nie działa?
$(document).keypress(function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 40) {
alert("down pressed");
} else if (code == 38) {
alert("up pressed");
}
});
Próbuję wykryć czy Klawisz w dół lub w górę jest wciśnięty. Dlaczego to nie działa?
Fiddle http://jsfiddle.net/K9uDn/10/
jestem w chromie
Impreza nie jest wypalania. – crush
Działa, jeśli zmienię 'keypress' na' keydown' lub 'keyup' (i jeśli usunę te' self.gotIt() 'i' self.forgotIt() '). Zdecydowanie zalecam używanie 'keyup' lub' keydown' tak czy inaczej, nawet jeśli nie masz tego problemu ... jest znacznie lepszy i wszystko jest do przewidzenia. 'keydown' powinno również zastąpić' keypress'. – MiJyn
[jQuery normalizuje 'keyCode' i' charCode' z 'co', więc nie trzeba sprawdzać ich obu. Po prostu użyj 'which'.] (Http://api.jquery.com/event.which/) – crush