JS est un langage événementiel : il détecte un événement qui survient dans la page et lance un traitement.
Un événement est quelque chose qui se produit dans le navigateur ou encore une action de l'utilisateur.
Le clic (click en anglais) est l'événement le plus courant mais il y a d'autres ...
Exemple sur les principaux événments
Pour la détection des événements on peut utiliser le gestionnaire HTML ou le gestionnaire JS.
Ci-dessous un document HTML contenant une boite remplie de jaune.
Suivez les consignes indiquées dans cette page web.
À chaque événement sur la page ou sur la boite ou sur une touche l'image de fond de la boite change.
Le code HTML de ce document
Notez que les balises BODY & DIV ont chacun un ID.
Aucune 'scorie' de JS dans la partie HTML car j'utilise le gestionnaire JS des événements.
Attention les événements keydown, keypress & keyup sont relatifs à l'objet document.
Et si j'avais utilisé le gestionnaire HTML des événements ?
Le code HTML deviendrait plus lourd ...
Code HTML & script :
On associe au bouton de commande deux fonctions : une pour la saisie de variables et une autre pour l'affichage des variables.
Ces deux fonctions sont liées au même élément sur le même événement : clic sur le bouton de commande.
Le rendu de ce code :
Les événements focus et blur
Ce sont des événements très utilisés dans les formulaires avec les champs de saisie.
Exemple
Grâce à ce script il y a un contrôle de saisie sur le premier input du formulaire.
Nous voyons une bonne illustration de deux événements liés aux champs de formulaire : focus et blur.
Ici un message ('le séparateur décimal ...) s'affiche dès que le curseur pointe le premier input (onfocus).
Dès que cette zone de saisie n'est plus
pointée (onblur) un test est effectué pour afficher un second message "erreur de saisie" ou "saisie correcte".
Notez l'emploi du mot this qui est très pratique et qui fait référence à l'objet en cours d'utilisation ; ici le premier input.
Donc le mot this remplace ici document.querySelector('input').
Le rendu
L'objet "Event"
Un objet "event" peut être passé à la fonction de traitement liée à la détection d'un événement.
Les principales propriétés de l'objet "event" sont :
type : click ou mouseover (survol par la souris) ou keydown (appui sur une touche) etc.
keyCode : code ASCII de la touche du clavier enfoncée
target : cible de l'événement c'est à dire l'objet concerné par l'événement