Desidero utilizzare i tasti più e meno per attivare le funzioni di ingrandimento e riduzione nella mia app Web. Il seguente codice funziona, per lo più:Come distinguere i tasti più/uguale e uguali in javascript?
$(document).keydown(function(e) { // requires jQuery
console.log(e.keyCode);
if (e.keyCode === 189) { // minus
zoom_out();
return false;
}
if (e.keyCode === 187) { // plus
zoom_in();
return false;
}
});
Il codice chiave 187 è tornato quando si preme il tasto + =/così come la tastiera + chiave. Questo va bene, se è dispari, ma anche 187 viene restituito dal tasto keypad =, che non voglio usare per lo zoom. Come posso distinguere i tasti +/=, = e +?
È possibile utilizzare "keypress" anziché "keydown", perché in questo caso si ottiene il carattere completamente tradotto anziché solo il codice. – Pointy
'Ctrl' +' + 'lo fa già nel browser –
Se stai usando keydown o keyup (rispetto a keypress) dovresti ricevere _different_ codici per il tasto =/+ e il tasto keypad +, ma lo stesso codice per =/+ indipendentemente dal fatto che tu tenga il turno. Ricevo codici diversi con la mia tastiera come testato qui: http://www.webonweboff.com/tips/js/event_key_codes.aspx#instant-test (La mia tastiera non ha un tasto =, anche se le nostre tastiere devono essere diverse .) – nnnnnn