W3docs

Attributs d'événements globaux

Les attributs d'événements globaux HTML permettent de déclencher des actions dans le navigateur via JavaScript lorsqu'un utilisateur interagit avec un élément.

Un événement se produit lorsque le navigateur réagit à une action particulière — un clic de souris, l'appui sur une touche, la lecture d'une vidéo, la soumission d'un formulaire, le redimensionnement de la fenêtre, etc. Pour répondre à un événement, vous attachez un gestionnaire : un morceau de script (généralement JavaScript) qui s'exécute lorsque l'événement se déclenche.

HTML vous permet d'attacher un gestionnaire directement dans le balisage via un attribut d'événement. Chaque attribut de cette page commence par on suivi du nom de l'événement (onclick, onkeydown, onsubmit, …). Tous ont été ajoutés en HTML5 et acceptent du code JavaScript comme valeur :

<button onclick="alert('Clicked!')">Click me</button>

Ces attributs d'événements sont globaux — la plupart peuvent être placés sur n'importe quel élément — mais chacun n'a de sens que dans le bon contexte (attributs de formulaire sur les contrôles de formulaire, attributs média sur <audio>/<video>, etc.).

Avertissement

Les attributs on* en ligne sont déconseillés dans le code moderne. Ils mélangent le comportement avec le balisage, ne permettent pas d'attacher facilement plusieurs gestionnaires, et sont bloqués par une politique de sécurité du contenu stricte. Préférez addEventListener dans un script séparé, ce qui sépare HTML et JavaScript et permet à plusieurs gestionnaires d'écouter le même événement :

<button id="myBtn">Click me</button>

<script>
  const btn = document.getElementById("myBtn");
  btn.addEventListener("click", () => {
    alert("Clicked!");
  });
</script>

Les tableaux ci-dessous répertorient les attributs d'événements par catégorie. Pour un traitement plus complet du fonctionnement des événements dans le navigateur, consultez JavaScript Events et les attributs globaux HTML associés.

Attributs d'événements de fenêtre

Les événements de fenêtre sont déclenchés pour l'objet window. Ils sont généralement placés sur la balise <body>, où le navigateur les associe à window.

AttributDescription
onafterprintSe déclenche après l'impression du document.
onbeforeprintSe déclenche avant l'impression du document.
onbeforeunloadSe déclenche avant le déchargement du document (par ex. l'utilisateur est sur le point de quitter la page).
onblurSe déclenche quand la fenêtre perd le focus (l'utilisateur bascule vers un autre onglet ou une autre application).
onerrorSe déclenche quand une erreur se produit lors du chargement du document ou d'une ressource.
onhashchangeSe déclenche quand le fragment (la partie de l'URL après #) change.
onloadSe déclenche quand toute la page — images, CSS et scripts — a fini de se charger.
onmessageSe déclenche quand la fenêtre reçoit un message (par ex. via postMessage).
onofflineSe déclenche quand le navigateur perd sa connexion réseau.
ononlineSe déclenche quand le navigateur retrouve sa connexion réseau.
onpagehideSe déclenche quand l'utilisateur quitte la page.
onpageshowSe déclenche quand l'utilisateur accède à la page.
onpopstateSe déclenche quand l'entrée active de l'historique change.
onresizeSe déclenche quand la fenêtre est redimensionnée.
onstorageSe déclenche quand une zone de stockage web (localStorage/sessionStorage) est mise à jour.
onunloadSe déclenche quand la page est déchargée (le document est en cours de suppression).
<body onload="document.body.style.background = '#eef'">
  <p>This page changes its background colour once it has loaded.</p>
</body>

Attributs d'événements de formulaire

Un événement pouvant se produire dans un formulaire est appelé événement de formulaire. Les événements de formulaire se produisent lorsqu'un utilisateur ouvre ou ferme un formulaire, passe d'un formulaire à un autre, ou travaille avec des données d'un formulaire.

Les attributs d'événements de formulaire peuvent être appliqués à tous les éléments HTML, mais ils sont généralement utilisés avec les contrôles de formulaire tels que <input>, <select> et <textarea>.

AttributDescription
onblurSe déclenche quand un élément perd le focus (l'utilisateur utilise Tab ou clique en dehors d'un contrôle).
onchangeSe déclenche quand la valeur d'un contrôle a changé et que le contrôle perd le focus.
oncontextmenuSe déclenche quand le menu contextuel (clic droit) est ouvert sur l'élément.
onfocusSe déclenche quand un élément obtient le focus.
oninputSe déclenche immédiatement à chaque changement de la valeur d'un contrôle.
oninvalidSe déclenche quand un contrôle soumis échoue à la validation des contraintes.
onresetSe déclenche quand un formulaire est réinitialisé à ses valeurs initiales.
onsearchSe déclenche quand l'utilisateur effectue une recherche dans un champ <input type="search">.
onselectSe déclenche quand l'utilisateur sélectionne du texte dans un <input> ou un <textarea>.
onsubmitSe déclenche quand un formulaire est soumis.
<form onsubmit="alert('Submitting…'); return false;">
  <input type="text" name="name"
         onfocus="this.style.background = '#ffd'"
         onblur="this.style.background = ''"
         placeholder="Your name">
  <button type="submit">Send</button>
</form>

Retourner false depuis onsubmit (ou appeler event.preventDefault() en JavaScript) empêche l'envoi effectif du formulaire — pratique lors des tests.

Attributs d'événements clavier

Les attributs d'événements clavier peuvent être appliqués à tous les éléments HTML.

AttributDescription
onkeydownSe déclenche quand une touche est enfoncée. Se répète tant que la touche est maintenue.
onkeypressSe déclenche quand une touche de caractère est pressée. Déprécié — utilisez plutôt onkeydown.
onkeyupSe déclenche quand une touche pressée est relâchée.
<input type="text"
       onkeyup="document.getElementById('echo').textContent = this.value"
       placeholder="Type here">
<p>You typed: <span id="echo"></span></p>

Attributs d'événements souris

Les événements souris se produisent lorsque la souris interagit avec le document HTML. Les attributs peuvent être appliqués à tous les éléments HTML.

AttributDescription
onclickSe déclenche quand l'élément est cliqué.
ondblclickSe déclenche quand l'élément est double-cliqué.
ondragSe déclenche de façon répétée pendant qu'un élément est glissé.
ondragendSe déclenche quand une opération de glisser se termine.
ondragenterSe déclenche quand un élément glissé entre dans une cible de dépôt valide.
ondragleaveSe déclenche quand un élément glissé quitte une cible de dépôt valide.
ondragoverSe déclenche de façon répétée pendant qu'un élément glissé est au-dessus d'une cible de dépôt valide.
ondragstartSe déclenche quand l'utilisateur commence à faire glisser un élément.
ondropSe déclenche quand un élément glissé est déposé sur une cible de dépôt valide.
onmousedownSe déclenche quand un bouton de la souris est enfoncé sur l'élément.
onmousemoveSe déclenche chaque fois que le pointeur se déplace au-dessus de l'élément.
onmouseoutSe déclenche quand le pointeur quitte l'élément.
onmouseoverSe déclenche quand le pointeur passe sur l'élément.
onmouseupSe déclenche quand un bouton de la souris est relâché sur l'élément.
onmousewheelObsolète — utilisez plutôt onwheel.
onscrollSe déclenche quand la barre de défilement d'un élément est actionnée.
onwheelSe déclenche quand la molette de la souris tourne vers le haut ou vers le bas sur l'élément.
<div onmousemove="this.textContent = event.offsetX + ', ' + event.offsetY"
     style="width:240px; height:120px; background:#eef; text-align:center; line-height:120px;">
  Move the mouse here
</div>

Attributs d'événements presse-papiers

AttributDescription
oncopySe déclenche quand le contenu d'un élément est copié.
oncutSe déclenche quand le contenu d'un élément est coupé.
onpasteSe déclenche quand du contenu est collé dans un élément.

Attributs d'événements média

Les événements média se produisent dans les éléments multimédias, tels que les vidéos, les images et les fichiers audio. Les attributs peuvent être appliqués à n'importe quel élément HTML, mais ils sont généralement utilisés au sein des éléments audio, embed, img, object et video.

AttributDescription
onabortSe déclenche quand le chargement du média est interrompu.
oncanplaySe déclenche quand le navigateur a mis en mémoire tampon suffisamment pour commencer la lecture.
oncanplaythroughSe déclenche quand le navigateur estime pouvoir lire jusqu'à la fin sans s'arrêter pour mettre en mémoire tampon.
oncuechangeSe déclenche quand la piste active d'une piste de texte (par ex. sous-titres ou légendes) change.
ondurationchangeSe déclenche quand la durée du média change.
onemptiedSe déclenche quand le média devient vide (par ex. la connexion est perdue).
onendedSe déclenche quand la lecture atteint la fin du média.
onerrorSe déclenche quand une erreur se produit lors du chargement du média.
onloadeddataSe déclenche quand l'image courante des données média a été chargée.
onloadedmetadataSe déclenche quand les métadonnées (durée, dimensions, …) ont été chargées.
onloadstartSe déclenche quand le navigateur commence à charger le média.
onpauseSe déclenche quand la lecture est mise en pause.
onplaySe déclenche quand la lecture commence ou reprend.
onplayingSe déclenche quand la lecture est effectivement en cours (après la mise en mémoire tampon, par exemple).
onprogressSe déclenche périodiquement pendant que le navigateur charge le média.
onratechangeSe déclenche quand la vitesse de lecture change (par ex. avance rapide).
onseekedSe déclenche quand une opération de déplacement se termine.
onseekingSe déclenche quand une opération de déplacement commence.
onstalledSe déclenche quand le navigateur tente, sans succès, de récupérer des données média.
onsuspendSe déclenche quand le chargement du média est intentionnellement mis en pause.
ontimeupdateSe déclenche quand la position de lecture change pendant la lecture.
onvolumechangeSe déclenche quand le volume change (y compris la mise en sourdine).
onwaitingSe déclenche quand la lecture s'arrête parce que l'image suivante n'est pas encore mise en mémoire tampon.

Autres événements

AttributDescription
ontoggleSe déclenche quand l'utilisateur ouvre ou ferme un élément <details>.
Info

Certains attributs que vous pouvez rencontrer dans d'anciennes références — onredo, onundo et onshow — n'ont jamais fait partie du HTML standard ou ne sont pas pris en charge par les navigateurs, ils ont donc été omis ici.

Pratique

Pratique
Que sont les attributs d'événements globaux en HTML ?
Que sont les attributs d'événements globaux en HTML ?
Was this page helpful?