Nel codice seguente:jQuery tasto su/giù Rilevamento tasto non funzionante?
$(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");
}
});
Sto cercando di rilevare se si preme il tasto o fino a lungo il tasto. Perché non funziona?
Fiddle http://jsfiddle.net/K9uDn/10/
Sono in cromo
L'evento non è sparare. – crush
Bene, funziona se cambio 'keypress' in' keydown' o 'keyup' (e se rimuovo quelli' self.gotIt() 'e' self.forgotIt() '). Raccomando caldamente di usare comunque 'keyup' o' keydown', anche se non si ha questo problema ... è molto meglio, e tutto è prevedibile con esso. 'keydown' dovrebbe anche sostituire' keypress'. – MiJyn
[jQuery normalizza 'keyCode' e' charCode' con 'which', quindi non è necessario controllarli entrambi. Basta usare 'which'.] (Http://api.jquery.com/event.which/) – crush