👩🏫 JS Intermédiaire 01.3 - Manipulation du DOM - Gestion des événements
⚠️ Avant de commencer cette quête, tu dois avoir terminé les quêtes suivantes :
Introduction
Précédemment, tu as vu qu'est-ce que le DOM et comment changer le DOM en ajoutant ou en supprimant un élément HTML.
Maintenant il est temps d'apprendre comment réagir à un événement en utilisant Javascript.
Débutons !
🤓 A la fin de cette quête, tu seras capable :
- ✅ D'écouter les événements sur les éléments HTML (clic, survol, ...)
Gestionnaires d'événements
Maintenant que tu sais comment sélectionner un élément, modifier une propriété et créer des éléments, il est temps d'ajouter un peu d'interactivité !
Pour cela, nous pouvons utiliser des gestionnaires d'événements.
Pour la gestion des clics, tu peux modifier la propriété onclick en y affectant une fonction.
someDiv.onclick = function () {
someDiv.style.backgroundColor = "red";
};
AddEventListener
Nous pouvons également utiliser une méthode appelée addEventListener.
addEventListener est une méthode qui accepte comme premier paramètre le type d'événement, et le second est une fonction de rappel (callback function).
someDiv.addEventListener('click', function () {
someDiv.style.backgroundColor = "red";
});
addEventListener peut être utilisé pour écouter un grand nombre d'événements différents, tels que:
- click
- mousedown
- mouseup
- mousemove
- mouseover
- mouseleave
- ...
🔬 Fais une expérience:
Essaye de modifier quelques éléments de ce code.
- Lorsque l'utilisateur clique sur l'image, cela doit changer la source de l'image (
src) et le texte de la propriétéalt - Lorsque l'utilisateur survole le titre, la couleur du texte doit changer
- Lorsque la souris quitte le titre, la couleur doit revenir au noir
https://codesandbox.io/s/laughing-brook-xd2mm-jgrzq?file=/src/index.js
Montrer la solution|||javascript|||Des problèmes pour trouver la solution ? |||0|||Masquer
// We create the variables for imgDog and for title
const imgDog = document.querySelector('.img-dogs');
const title = document.querySelector('.title');
// We add a listener on the dog image, when the user clicks on the latter, it changes the src
imgDog.addEventListener('click', function () {
imgDog.src = "https://placedog.net/300";
imgDog.alt = "Happy cute dog";
});
// We add a listener on the title, when the user places the mouse over the element, it changes the color
title.addEventListener('mouseover', function () {
title.style.color = "blue";
});
// We add a listener on the title, when the mouse leaves the element, it changes the color
title.addEventListener('mouseleave', function () {
title.style.color = "black";
});