ho fatto un po 'di lavoro con i principali eventi JavaScript (keyup, keydown, pressione di un tasto) e hanno concluso che ognuno ha i propri vantaggi e svantaggi quando cercando di determinare quale chiave (s) l'utente ha premuto.Catturare entrambi i tasti speciali e caso chiave all'interno eventi JavaScript
Utilizzando event.which come previsto da jQuery, sembrerebbe che onkeypress fornisca codici di caratteri sensibili al maiuscolo/minuscolo. cioè 65-90 per A-Z e 97-122 per a-z. Tuttavia, i tasti speciali come quelli direzionali non attivano onkeypress. Tuttavia, attivano una chiave/* keydown , ma non forniranno codici maiuscole e minuscole.
Esiste una soluzione "migliore di entrambi i mondi" che fornisca sia la distinzione tra maiuscole e minuscole che la rilevazione di chiavi speciali che non richiede il monitoraggio simultaneo manuale di più eventi?
Risposta breve, no, devi ascoltare almeno due eventi per ottenere entrambi. La risposta più lunga sarebbe quella di ascoltare gli eventi di turno/controllo e capire il caso in base a ciò. – adeneo
puoi cercare e.shiftKey su eventi keydown/up, che colpiranno le capitali. L'unico problema è quando si utilizza il blocco CAPS, la chiave sarebbe upperCase e non ha shiftKey. – dandavis