Qu'appelle-t'on un événement?

Les évènements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est possible d'associer des fonctions, des méthodes à des événements tels que le passage de la souris au-dessus d'une zone, le changement d'une valeur, ...

Ce sont les gestionnaires d'événements qui permettent d'associer une action à un événement. La syntaxe d'un gestionnaire d'événement est la suivante:
onEvenement="Action_Javascript_ou_Fonction();"

Les gestionnaires d'événements sont associés à des objets, et leur code s'insèrent dans la balise de ceux-ci...

Liste des événements

Evénement
(gestionnaire d'événement)
Description Test Effet
Click
(onClick)
Se produit lorsque l'utilisateur clique sur l'élément associé à l'événement Test
Load
(onLoad)
Se produit lorsque le navigateur de l'utilisateur charge la page en cours    
Unload
(onUnload)
Se produit lorsque le navigateur de l'utilisateur quitte la page en cours    
MouseOver
(onMouseOver)
Se produit lorsque l'utilisateur positionne le curseur de la souris au-dessus d'un élément Test
MouseOut
(onMouseOut)
Se produit lorsque le curseur de la souris quitte un élément
Cet événement fait partie du Javascript 1.1
Test
Focus
(onFocus)
Se produit lorsque l'utilisateur donne le focus à un élément, c'est-à-dire que cet élément est sélectionné comme étant l'élément actif
Blur
(onBlur)
Se produit lorsque l'élément perd le focus, c'est-à-dire que l'utilisateur clique hors de cet élément, celui-ci n'est alors plus sélectionné comme étant l'élément actif
Change
(onChange)
Se produit lorsque l'utilisateur modifie le contenu d'un champ de données
Select
(onSelect)
Se produit lorsque l'utilisateur sélectionne un texte (ou une partie d'un texte) dans un champ de type "text" ou "textarea"    
Submit
(onSubmit)
Se produit lorsque l'utilisateur clique sur le bouton de soumission d'un formulaire (le bouton qui permet d'envoyer le formulaire)    

Objets auxquels on peut associer des événements

Chaque événement ne peut pas être associé à n'importe quel objet... il est évident qu'un événement OnChange ne peut pas s'appliquer à un lien hypertexte...

Objet Evénements associables
Lien hypertexte onClick, onMouseOver, onMouseOut
Page du navigateur onLoad, onUnload
Bouton, Case à cocher, Bouton radio, Bouton Reset onClick
Liste de sélection d'un formulaire onBlur, onChange, onFocus
Bouton Submit onSubmit
Champ de texte et zone de texte onBlur, onChange, onFocus, onSelect

Quelques exemples d'événements

Le mieux pour apprendre à se servir des événements est de s'entraîner à écrire de petits codes...
Pour vous inspirer, pensez à regarder les fichiers sources de certaines pages web, mais pensez toujours à respecter les auteurs des codes en ne faisant pas un copier-coller de leurs scripts sans leur accord (il est généralement de bon ton de citer la source du javascript que l'on récupère...).

Ouverture d'une boite de dialogue lors d'un click

Le code correspondant à une boîte de dialogue est très simple:
window.alert("Votre Texte");
Il s'agit donc de le mettre dans la balise d'un lien hypertexte:

Script:
 
<html>
<head>
<title>Ouverture d'une boite de dialogue lors d'un click</head>
</head>
<body>
 
<a href="javascript:;" onClick="window.alert('Message d\'alerte a utiliser avec moderation');">Cliquez ici!</a>
 
</body>
</html>

Analyse du script:

  • le gestionnaire d'événement onClick a été inséré dans la balise de lien hypertexte <A href...
  • le seul but du script est de faire apparaître une boîte de dialogue, ainsi on ne désire pas que le lien nous entraîne sur une autre page, il faut alors insérer "javascript:;" dans l'attribut href pour signaler au navigateur que l'on désire rester sur la page en cours. Il ne faut pas mettre un attribut vide au risque de révéler le contenu de votre répertoire à vos visiteurs...)
  • Remarquez l'emploi de \' dans la phrase "Message d'alerte a utiliser avec moderation"
    Le signe antislash (\) précédant le guillemet permet de signaler au navigateur qu'il ne faut pas l'interpréter comme un délimiteur de chaîne mais comme un simple caractère pour éviter qu'il génère une erreur!

Aperçu de l'effet du script:
Cliquez ici!

Modification d'une image lors du survol d'un lien par le pointeur de la souris

Il peut être agréable de jouer avec le gestionnaire OnMouseOver pour créer un menu interactif qui se modifie au passage de la souris. On peut même ajouter le gestionnaire OnMouseOut pour rétablir l'image originale lorsque le curseur quitte l'image (Rappel: Son utilisation est limitée aux navigateurs supportant javascript 1.1 et supérieur!).

Script:
 
<html>
<head>
<title>Modification d'une image lors du passage de la souris</title>
</head>
<body>
 
<a href="javascript:;" onMouseOver="document.img_1.src='image2.gif';" onMouseOut="document.img_1.src='image1.gif';"> <img name="img_1" src="image1.gif"> </a>
 
</body>
</html>

Analyse du script:

  • Pour pouvoir associer un événement à une image il faut que celle-ci soit considérée comme un lien, ainsi on place la balise <img ...> entre les balises <a ...> et </a>
  • L'événement onMouseOut est limitée aux navigateurs supportant javascript 1.1 et supérieur

 


© Copyright 2001 Jean-François Pillou
Ce document issu de CommentCaMarche.net est soumis à la licence GNU FDL. Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement.