Combinazione di tasti di scelta rapida JavaScript

December 24

In alcune applicazioni Web, premendo un singolo tasto di scelta rapida o una combinazione di tasti di scelta rapida attiva un'azione dall'applicazione. Tasti di scelta rapida standard includono "Ctrl-X" per spostare il testo negli Appunti, "Alt-F4" per chiudere una finestra e "Shift-F5" per forzare un aggiornamento completo della finestra. Individuare la combinazione di tasti di scelta rapida che sono stati premuti in JavaScript è più complicato di quanto ci si potrebbe aspettare. Requisiti del browser di primi non includono dettagli come il valore da utilizzare nell'etichettatura ogni tasto sulla tastiera, e diverse aziende utilizzati valori diversi per le stesse chiavi. Mentre è possibile seguire un approccio consigliato per il controllo di tasti di scelta rapida che sono stati premuti, controllare i valori e la differenza nei valori di tutti i browser Web.

Tasti di scelta rapida

Un tasto di scelta rapida è una chiave che innesca una sorta di azione in un'applicazione quando viene premuto. Ad esempio, un gioco potrebbe utilizzare "z" e "c" come tasti di scelta rapida per ruotare un oggetto sinistro e destro. Alcune applicazioni utilizzano una combinazione di tasti di scelta rapida mediante la combinazione di caratteri alfanumerici standard con altri tasti speciali, ad esempio, G"" e la freccia in su. Tre tasti speciali, "Ctrl", "Alt" e "Shift", vengono spesso utilizzati con combinazione tasti di scelta rapida. Ad esempio, "Ctrl-S" è spesso usato come un tasto di scelta rapida combinazione per "Salva". Combinazione tasti di scelta rapida può includere più di una chiave speciale, come in "Ctrl-Alt-P."

KeyCode e Charcode

Ogni carattere stampabile ha un codice ASCII numerico assegnato ad esso, chiamato il charcode. Ogni tasto della tastiera ha anche un codice numerico assegnato ad esso chiamato un keycode. I due non sono sempre lo stesso. Ad esempio, la minuscola "a" e "A" maiuscola have diversi charcodes ma Condividi il keycode stesso. Caratteri non stampabili, ad esempio l'alto e verso il basso le frecce non hanno affatto un charcode.

Eventi della tastiera

In JavaScript, quando viene premuto un tasto, si innesca una serie di eventi. JavaScript imposta le proprietà di un oggetto evento per fornire informazioni sull'evento. Un "KeyDown" accade quando viene premuto un tasto e un evento "keyup" viene attivato quando il tasto viene rilasciato. Mentre si tiene premuto il tasto, è possibile che un evento "keypress" continuamente viene attivato. Durante questo evento, la maggior parte dei browser forniscono il valore di charcode della chiave che viene premuto. Durante un evento keydown o keyup, la maggior parte dei browser impostare il valore di keycode del tasto che ha generato l'evento. Per tutti e tre gli eventi, una proprietà aggiuntiva, chiamata solitamente "che" è impostata sul valore di unicode del tasto premuto, inclusi i tasti speciali. Maggior parte dei browser impostato anche tre flagss - ctrlKey, altKey e shiftKey - indica il tasto che è stato premuto quando l'evento.

Differenze di browser

Selezionare l'evento e le proprietà da utilizzare per determinare la combinazione di tasti di scelta rapida JavaScript che sono stati premuti può essere una sfida. Purtroppo, non tutti i browser Web interpretano o implementano specifiche del browser in modo identico. Di conseguenza, Chrome, Firefox, Internet Explorer, Opera e Safari non innescare gli stessi eventi o utilizzare la stessa keycodes per ogni chiave. Ad esempio, Internet Explorer non fornisce mai il charcode, solo il keycode. Firefox solo fornisce il keycode durante keypress e fornisce il charcode per keydown e keyup. Il codice per la chiave del colon è 59 a Firefox e 186 in Internet Explorer e Safari. Tuttavia, la maggior parte delle differenze, esistono per tasti diversi da "a" alla "z", "A" alla "Z", "0" a "9", "Ctrl", "Alt" e "Shift".

Determinazione di tasti di scelta rapida

Utilizzare una libreria esterna come ad esempio jQuery, Prototype, Dojo o MooTools quando è necessario tenere traccia di una combinazione di tasti di scelta rapida JavaScript che include tasti speciali, perché queste librerie in genere gestire le conversioni tra i browser e dispongono di una proprietà di singolo oggetto per fare riferimento. Per determinare la combinazione di tasti che ha attivato l'evento senza una libreria, utilizzare l'evento "keypress" e controllare la proprietà di "quale". Se tale proprietà è zero o non è definito, controllare la proprietà "keycode". Confrontare tale valore con il valore della tua hotkey, verifica il ctrlKey, altKey e shiftKey flags e determinare se è stata premuta la combinazione di tasti di scelta rapida JavaScript.


Articoli Correlati