Numérique et Sciences Informatiques > Internet et le Web > Langages du Web (HTML, CSS, JavaScript - Notions de Base) > JavaScript : interactivité côté client (événements, manipulation du DOM)
JavaScript : Interactivité côté client (Événements et Manipulation du DOM)
Apprenez à rendre vos pages web dynamiques et interactives grâce à JavaScript. Ce guide complet couvre les événements, la manipulation du DOM, et vous fournit des exemples concrets pour maîtriser l'interactivité côté client.
Introduction à l'interactivité avec JavaScript
JavaScript permet d'ajouter de l'interactivité à vos pages web. Sans JavaScript, les pages seraient statiques, c'est-à-dire qu'elles afficheraient simplement du contenu sans possibilité d'interaction de la part de l'utilisateur. JavaScript, en revanche, permet de réagir aux actions de l'utilisateur, de modifier le contenu de la page dynamiquement, et de créer des expériences utilisateur riches et engageantes. L'interactivité en JavaScript repose principalement sur deux concepts clés : les événements et la manipulation du DOM (Document Object Model).
Les Événements en JavaScript
Les événements sont des actions ou des occurrences qui se produisent dans le navigateur web. Il existe de nombreux types d'événements différents, chacun correspondant à une action spécifique de l'utilisateur ou du navigateur. Exemples d'événements courants : Pour utiliser un événement, il faut l'attacher à un élément HTML spécifique et lui associer une fonction JavaScript (appelée gestionnaire d'événement) qui sera exécutée lorsque l'événement se produira. Exemple : HTML JavaScript Dans cet exemple, on sélectionne l'élément button avec l'id 'monBouton' et on attache un événement 'click' à cet élément. Lorsque l'utilisateur clique sur le bouton, la fonction anonyme (le gestionnaire d'événement) est exécutée, affichant une boîte de dialogue d'alerte.
click
: Se produit lorsqu'un élément est cliqué avec la souris.mouseover
: Se produit lorsque le curseur de la souris survole un élément.mouseout
: Se produit lorsque le curseur de la souris quitte un élément.keydown
: Se produit lorsqu'une touche du clavier est enfoncée.keyup
: Se produit lorsqu'une touche du clavier est relâchée.submit
: Se produit lorsqu'un formulaire est soumis.load
: Se produit lorsqu'une page web est complètement chargée.<button id="monBouton">Cliquez ici</button>
<script>
const monBouton = document.getElementById('monBouton');
monBouton.addEventListener('click', function() {
alert('Le bouton a été cliqué !');
});
</script>
Manipulation du DOM (Document Object Model)
Le DOM (Document Object Model) est une représentation arborescente de la structure d'une page HTML. Il permet à JavaScript d'accéder et de modifier le contenu, la structure et le style des éléments HTML de la page. Méthodes courantes pour manipuler le DOM : Exemple : HTML JavaScript Dans cet exemple, on sélectionne l'élément div avec l'id 'monDiv'. Ensuite, on modifie son contenu HTML avec la propriété Exemple : Ajout d'un élément
document.getElementById(id)
: Sélectionne un élément HTML en fonction de son attribut id
.document.querySelector(selector)
: Sélectionne le premier élément qui correspond à un sélecteur CSS spécifié.document.querySelectorAll(selector)
: Sélectionne tous les éléments qui correspondent à un sélecteur CSS spécifié (retourne une NodeList).element.innerHTML
: Permet d'accéder ou de modifier le contenu HTML d'un élément.element.style.property
: Permet d'accéder ou de modifier le style CSS d'un élément.element.setAttribute(attribute, value)
: Permet de définir la valeur d'un attribut d'un élément.element.getAttribute(attribute)
: Permet de récupérer la valeur d'un attribut d'un élément.element.appendChild(node)
: Ajoute un nouveau nœud (élément HTML) comme enfant d'un élément existant.element.removeChild(node)
: Supprime un nœud enfant d'un élément existant.<div id="monDiv">Ceci est un paragraphe.</div>
<script>
const monDiv = document.getElementById('monDiv');
monDiv.innerHTML = '<p>Ceci est un nouveau paragraphe.</p>';
monDiv.style.color = 'blue';
</script>
innerHTML
et on change sa couleur de texte en bleu avec la propriété style.color
.
<script>
const monDiv = document.getElementById('monDiv');
const nouveauParagraphe = document.createElement('p');
nouveauParagraphe.textContent = 'Voici un nouveau paragraphe crée par javascript.';
monDiv.appendChild(nouveauParagraphe);
</script>
Exemple concret : Un compteur de clics
Pour illustrer l'utilisation combinée des événements et de la manipulation du DOM, créons un simple compteur de clics. HTML JavaScript Explication :
<button id="compteurBouton">Cliquez ici</button>
<p id="compteurAffichage">Nombre de clics : 0</p>
<script>
let compteur = 0;
const compteurBouton = document.getElementById('compteurBouton');
const compteurAffichage = document.getElementById('compteurAffichage');
compteurBouton.addEventListener('click', function() {
compteur++;
compteurAffichage.textContent = 'Nombre de clics : ' + compteur;
});
</script>
compteur
à 0.click
au bouton.compteur
et on met à jour le contenu de l'élément p avec la nouvelle valeur du compteur.
Ce qu'il faut retenir
document.getElementById()
, document.querySelector()
, element.innerHTML
, element.style.property
, element.setAttribute()
, element.appendChild()
, et element.removeChild()
.
FAQ
-
Quelle est la différence entre
innerHTML
ettextContent
?
innerHTML
permet de modifier le contenu HTML d'un élément, y compris les balises HTML.textContent
permet de modifier le contenu textuel d'un élément, en ignorant les balises HTML. -
Comment puis-je empêcher un formulaire de se soumettre par défaut lors d'un événement
submit
?
Vous pouvez utiliser la méthodeevent.preventDefault()
dans le gestionnaire d'événement du formulaire.