Mentre so che catturare i tasti a causa della e.keyCode
vs e.charCode
non è banale, ho pensato che jQuery sarebbe stato in grado di normalizzare la maggior parte di quelle incoerenze. Tuttavia, mentre answering this question ho scoperto che il carattere #
sembra avere codici chiave molto incoerenti (e naturalmente questo è vero anche per molti altri codici, principalmente a seconda del browser e della tastiera presumo).coerente keyCode per `#`
Chrome e IE ceduta 191, Firefox 163 sul mio computer, un altro utente ha riferito 222. Chromes window.event
anche segnalati U+00BF
come keyIdentifier - che secondo le tabelle Unicode dovrebbe essere ¿
.
Conoscete qualche modo coerente per determinare tali simboli come la #
con keycodes incoerenti senza fare qualcosa di brutto come il seguente:
$('input').keydown(function (e) {
if (e.which == 191 || e.which == 163 || e.which == 222){
// hope you got the right key
e.preventDefault();
}
});
Uhm ... '#' è una chiave '3' con' shift' modificatore. Non c'è nessuna chiave '#' a tutti – zerkms
@zerkms Immagino che dipenda dal layout della tastiera :-p – Christoph
ancora - è ** chiave ** in basso. Non c'è la chiave '#' – zerkms