54 messaggi dal 12 febbraio 2002
Ragazzi ho urgente bisogno di aggiungere la seguente funzionalità ad un'applicazione web su cui sto lavorando!

Ho una mappa cliccabile in cui determinate porzioni linkano determinate pagine dell'applicazione! Oltre la possibilità di poter clikkare sulla sezione interessata vorrei associare ad ogni sezione un determinato tasto (Es: F1-HomePage; F2 Gestione Archivio; ecc ecc) che mi esegua la stessa operazione alla pressione dello stesso!

So che con JS è possibile fare ciò e gradirei una descrizione dettagliata per risolvere il problema!
Fiducioso in una vostra risposta... Vi porgo i miei saluti!

Grazie... Michele
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
purtroppo non potrai usare tutti i tasti funzione... mi spiego meglio:
tu sai che in una pagina html possono essere intercettati degli eventi grazie ad alcuni gestori come onClick, onMouseOver, onChange, ecc... tra questi c'è anche OnKeyDown che gestice la pressione di un tasto sulla tastiera. Capire quale tasto è stato premuto è semplice, ma la situazione si complica un po' se entrano in gioco i tasti funzione. Una pagina html non è un'applicazione a sè, è un file che viene aperto con un programma (il browser).
Questo programma (io uso IE 6.0) ha già "prenotato" alcuni tasti funzione per cui ha la priorità sugli eventi della pagina html. Per intenderci, F1 serve a mostrarti la guida in linea di IE e non può essere intercettato dalla pagina. F2 che invece non è un tasto riservato all'interno di IE, può essere rilevato dalla pagina. Secondo me ti conviene usare i tasti 1,2,3,4,5 anzichè i tasti funzione. Vediamo come intercettarli:

<body onKeyDown="Javascript:alert(event.keyCode)">

ogniqualvolta un tasto viene premuto, ti comparirà un alert che ti comunica un numero: quello è il codice del tasto che hai premuto.
Se ad esempio premo invio, il valore letto sarà 13.
Come fare per intercettare la pressione del tasto invio? Modifico il codice qua sopra in questo modo:

<body onKeyDown="Javascript:gestisci(event.keyCode)">
<script language="Javascript">
function gestisci(codice){
if (codice == 13){
//è stato premuto invio! eseguo che so... un redirect
window.location.href="nuovapagina.asp"
}
}
</script>

Se vuoi per forza usare i tasti funzione, sappi che dovrai rinunciare a:

F1: guida in linea
F5: aggiorna la pagina
F6: focus sulla barra degli indirizzi
F11: modalità fullscreen

questi sono i tasti dedicati, il resto li puoi usare ma, attenzione! altri browser potrebbero avere dei loro tasti riservati e quindi la tua applicazione potrebbe non funzionare su altri computer :(
'notteee|!

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.