70015 Letture

Linguaggi di scripting lato client: JavaScript per esempi - Seconda puntata

Abbiamo già visto nella precedente puntata (ved. questa pagina) che gli eventi consentono di specificare quando - ed in quali condizioni (per esempio all'apertura di una pagina web, quando l'utente clicca su un pulsante, quando si muove il mouse su un determinato oggetto, e così via...) - un determinato script deve essere eseguito.

Inizialmente JavaScript metteva a disposizione del programmatore solo pochi eventi. Questi, inoltre, potevano essere abbinati ad un numero molto limitato di tag HTML. Le nuove versioni di Internet Explorer hanno esteso la possibilità d'uso degli eventi di JavaScript anche a numerose altre tag HTML mentre Netscape, di contro, è rimasto fedele al passato.
Suggeriamo, per questo motivo, di effettuare test di compatibilità delle proprie pagine web sulle varie versioni dei browser Internet.


Come abbiamo avuto modo di apprendere, un evento può richiamare una ed una sola istruzione (nell'esempio visto nella precedente puntata, sia l'evento Onmouseover che l'evento Onclick, invocano la visualizzazione di un messaggio d'avviso mediante l'uso dell'istruzione alert). Accade però molto spesso che le operazioni che debbono essere eseguite al verificarsi di un certo evento siano diverse, assolutamente non rappresentabili mediante un'unica istruzione.
In questo caso è necessario ricorrere all'uso delle funzioni (handler o gestori di eventi): si tratta di porzioni ben definite di codice che possono ricevere in ingresso dei dati da elaborare e restituiscono in uscita, dopo l'esecuzione delle istruzioni previste, un certo risultato.
Nel caso in cui un evento debba eseguire una serie di istruzioni, tali righe di codice vengono racchiuse in un'unica funzione, generalmente definita nell'intestazione della pagina web o nel corpo della pagina HTML. L'evento farà poi riferimento alla funzione definita in precedenza. Ad esempio Onclick="mia_funzione()" invocherà, alla pressione del tasto sinistro del mouse, la funzione denominata mia_funzione.

Un esempio concreto contribuirà a comprendere meglio il concetto:

Nell'esempio abbiamo definito una funzione msgbox contenente un'unica istruzione. Tale funzione viene richiamata da parte dell'evento onclick, inserito in ogni tag <A>. La funzione msgbox, inoltre, riceve in ingresso il testo che deve essere mostrato nella finestra d'allerta.
L'intero codice dell'esempio è reperibile in questa pagina (03_funzioni.html) utilizzando la funzione Visualizza, HTML del browser Internet.

Altri esempi:
- Come richiamare una funzione: 03_1_funzioni.html;
- Passaggio di due argomenti ad una funzione con successiva restituzione di un risultato da parte della funzione: 03_2_funzioni.html.


Eventi importanti:


onClickConsente il rilevamento di un clic del mouse
onDblClickConsente il rilevamento di un doppio clic del mouse
onKeyDownPermette il rilevamento della pressione di un tasto
onLoadEvento attivato in fase di caricamento della pagina web
onMouseOutIl puntatore del mouse si sta allontanando da un'area specifica (ad esempio un'immagine od un collegamento)
onMouseOverIl puntatore del mouse è stato spostato su un'area specifica (ad esempio un'immagine od un collegamento)


Linguaggi di scripting lato client: JavaScript per esempi - Seconda puntata - IlSoftware.it