Jquery continua a stupirmi. Il mio bighellonare per la rete dei plugin del framework javascript migliore in circolazione (o almeno questo è quello che penso) oggi mi ha fatto conoscere js-hotkeys. Questo plugin consente di catturare la pressione dei tasti della tastiera mentre si sta guardando una pagina web. E’ ideale se si vuole incrementare la user experience delle proprie pagine aggiungendo qualche evento che riguarda la tastiera. Banalmente si potrebbe pensare alla pressione del tasto F1 e fare in modo che questo apri l’help del sito web. Come fare ad ottenere questo risultato? E’ così semplice che quasi mi commuovo.
- Per prima cosa dobbiamo includere la nostra libreria jquery.
- Il secondo passo sarà quello di includere il codice del nostro plug-ing.
- Scrivere pochissimo codice:
$(document).bind(‘keydown’, ‘f1′,function (evt){});
Il codice è semplice ed efficace. Cattura la pressione del tasto f1. Giocando con le combinazioni di tasti per integrarle nelle mie pagine web ho provato anche Ctrl-Alt-BackSpace. Purtroppo mi si è riavviato il motore grafico del mio ubuntu. (tonto) Catturando la pressione del tasto f5, invece, sono arrivato alla conclusione che un esempio come il seguente sia più che interessante:
$(document).bind(‘keydown’, ‘f5′,function (evt){return false; });
Bisogna sapere che il DOM prevede alcune azioni predefinite. Banalmente, il click su un link fa in modo che questo carichi lo stesso nel browser. A volte però, è necessario impedire che l’azione predefinita venga eseguita. Questo codice è particolare e ci consente di bloccare il comportamento naturale del browser. La particolarità di questo codice è da notare solo nelle due istruzioni return false. Infatti, premendo f5 solitamente si aggiorna la pagina web che si sta visionando. Con questo codice, invece, la pressione del tasto verrà catturata e ritornando false, la funzione impedirà che l’azione predefinita del browser venga eseguita.
Qualcuno di voi gioca a travian oppure ad un qualsiasi browser game realtime? Di quelli che quando mancano 5 secondi alla fine del completamento di una costruzione iniziano a premere f5 per aggiornare la pagina? Beh, ad ogni pressione del tasto, viene ricaricata la pagina sovraccaricando il server. Vengono fatte richieste inutili della pagina. Si usa più banda del necessario. Con questo plugin, per esempio, si potrebbe impedire che ciò avvenga.
Questo è il sito web dove potete trovare il codice: http://code.google.com/p/js-hotkeys/