Programmation événementielle

La programmation événementielle consiste en la réalisation d'actions suite à un événement.

Le clique d'une souris, le survol d'une image, la frappe d'une touche du clavier sont autant d'événements qui peuvent déclencher des changements sur la page.

On peut gérer ces événements grâce aux attributs des balises ou aux propriétés des éléments.

DéfinitionDirectement dans l'attribut de la balise

Selon les balises nous avons accès à différents attributs.

1
<img alt='image'
2
     src='../res/html5.png'
3
     onclick='this.src = "../res/javascript.png";'/>

Ici c'est l'événement click (clique gauche) sur l'image qui déclenche le changement d'URL de l'image.

image
Evénement - Attribut

Remarquethis

this représente le contexte. C'est à dire l'objet sur lequel nous sommes en train de programmer. Ici c'est l'image.

DéfinitionPar programmation de la propriété de l'élément

propriétés événementielles de l'Objet HTMLElement

Pour accéder aux attributs événementiels de l'élément, il existe des propriétés qui portent le même nom.

Il suffit de leur affecter une fonction qui correspond aux actions à accomplir.

HTML

1
<img alt='image' id='image2' src='../res/html5.png'/>

JavaScript

1
const image = document.querySelector('#image2');
2
image.onclick = function(){this.src = "../res/javascript.png"}

Dans l'exemple :

  • On récupère l'élément d'identifiant image.

  • Au clique sur l'image, on change sa source.

image
Evénement - Propriété

Attention ne confondez pas l'événement et la propriété d'événement.

Événement : click ; propriété d'événement : onclick

Liste non exhaustive des événements :

Événement de souris

Définitionclick

Le bouton gauche de la souris est pressé et relâché.

Définitiondblclick

Le bouton gauche de la souris est Double-cliqué.

Définitionmousedown

Le bouton gauche de la souris est pressé.

Définitionmousemove

La souris est déplacée sur l'élément.

Définitionmouseout

La souris sort de l'élément.

Définitionmouseover

La souris entre sur l'élément.

Définitionmouseup

Le bouton gauche de la souris est relâché.

Définitionmousewheel

La molette de la souris est activée.

Définitionscroll

La barre de défilement est utilisée.

Définitioncontextmenu

Le bouton droit de la souris est relâché (menu contextuel).

Événement de glissement

Définitiondrag

L'élément est glissé.

Définitiondragend

Fin du glissement de l'élément.

Définitiondragenter

L'élément entre sur une cible de dépôt valide.

Définitiondragleave

L'élément quitte une cible de dépôt valide

Définitiondragover

L'élément glisse sur une cible de dépôt valide.

Définitiondragstart

Début du glissement d'un élément.

Définitiondrop

L'élément reçoit un élément glissant.

Événement de formulaire

Définitionblur

L'élément a perdu le focus de saisie.

Définitionchange

L'élément a changé de valeur et perdu le focus.

Définitionfocus

L'élément prend le focus.

Définitionselect

Sélection d'un texte dans un champ de saisie.

Définitionsubmit

Une demande d'envoi de formulaire.

Définitioninput

Saisie dans l'élément

Définitioninvalid

L'élément n'est pas valide.

Définitionblur

L'élément a perdu le focus de saisie.

Clavier

Définitionkeydown

Une touche du clavier est enfoncée.

Définitionkeypress

Une touche du clavier est enfoncée et relâchée.

Définitionkeyup

Une touche du clavier est relâchée.

Document, Fichiers (image, audio, vidéo...)

Définitionabort

Action interrompu. Ex : chargement de l'élément image.

Définitionload

Le document est chargé.

Définitionresize

Un changement de dimension de fenêtre.

Définitionunload

Fermeture d'une page.

Définitionerror

Erreur de chargement de l'élément.

Événements tactiles

Définitiontouchstart

Déclenché quand un ou plusieurs points de l'élément sont touchés.

Définitiontouchmove

Déclenché quand un ou plusieurs points de l'élément sont touchés lors d'un déplacement.

Définitiontouchend

Déclenché quand un ou plusieurs points de l'élément ne sont plus touchés.