Support Cours JavaScript Avancé
Support Cours JavaScript Avancé
1.4.5 Vue d’ensemble de la manipulation des éléments HTML via le DOM ............... 4
AHAMADI NASRY I
2.2 Attacher des gestionnaires d’événements .................................................................... 8
AHAMADI NASRY II
2.3.5.1 L'événement submit .................................................................................... 21
1.2.1 Exemple :
1.2.2 Résultat :
AHAMADI NASRY 1
1.3 Introduction au modèle événementiel (Event-Driven Programming)
Le modèle événementiel est une approche dans laquelle le flux de l'application est déterminé
par des événements externes comme des clics ou des frappes au clavier.
1.3.3 Résultat :
AHAMADI NASRY 2
Exemple : Lorsqu’un utilisateur saisit son mot de passe, un événement peut vérifier
automatiquement sa force en temps réel.
Les Framework modernes comme React, Angular ou Vue.js utilisent massivement ce
modèle.
AHAMADI NASRY 3
1.4.3 Représentation DOM :
Modifier du contenu :
AHAMADI NASRY 4
Exemple : Changer le texte d'un élément.
1.4.7 Résultat
AHAMADI NASRY 5
1.5 Outils de développement pour la gestion des événements et le DOM
1.5.1 Console JavaScript des navigateurs
La console JavaScript est accessible depuis les outils de développement des navigateurs
(généralement via F12 ou Ctrl + Shift + I).
Elle permet de :
Résultat :
AHAMADI NASRY 6
AHAMADI NASRY 7
2 Chapitre 2 : Les bases de la programmation
événementielle
2.1 Gestion des événements en JavaScript
En JavaScript, les événements jouent un rôle essentiel dans l'interaction entre l'utilisateur et
l'interface de navigation. Un événement peut être une action de l'utilisateur (clic, déplacement
du curseur, frappe au clavier, etc.) ou une action du navigateur (chargement d'une page,
fermeture d'une fenêtre, etc.).
2.2.2 Exemple :
2.2.3 Résultat :
2.2.4 Avantages :
Syntaxe concise : attribue des gestionnaires directement en HTML, réduisant ainsi le
code en JavaScript.
Facile à lire : l'objectif du gestionnaire est clair dans l'élément.
AHAMADI NASRY 8
Familier avec les développeurs connaisseurs de HTML : s'aligne sur la gestion
traditionnelle des événements HTML.
2.2.5 Inconvénients :
Limité à un gestionnaire par événement : vous ne pouvez pas attacher plusieurs
gestionnaires au même événement en utilisant onclick.
Peut conduire à un mélange de logique : mélanger JavaScript et HTML peut réduire
la maintenabilité du code et la séparation des préoccupations.
Pas aussi flexible pour la gestion des événements dynamiques : l'ajout ou la
suppression de gestionnaires après le chargement de la page nécessite une manipulation
DOM.
2.2.7 Exemple :
Résultat :
AHAMADI NASRY 9
2.2.8 Différences entre onclick et addEventListener
AHAMADI NASRY 10
2.2.10 Exemple comparatif :
2.2.11 Résultat :
AHAMADI NASRY 11
2.2.12 Supprimer un gestionnaire avec removeEventListener
Un gestionnaire d'événement ajouté avec addEventListener peut être supprimé si nécessaire.
Exemple :
Résultat :
AHAMADI NASRY 12
2.3 Types d’événements courants et leurs usages
2.3.1 Gestion des événements de clavier : Keydown, Keyup, Keypress
Les événements keydown, keyup et keypress sont déclenchés lorsque l'utilisateur interagit avec
le clavier.
2.3.1.1 keydown
L'événement keydown est déclenché lorsqu'une touche du clavier est enfoncée. Cet événement
est souvent utilisé pour détecter quelle touche a été pressée.
Exemple pratique :
Résultat :
AHAMADI NASRY 13
Explication :
Lorsque l'utilisateur appuie sur une touche, le texte dans le paragraphe est mis à jour pour
afficher le nom de la touche et son code.
2.3.1.2 keyup
L'événement keyup est déclenché lorsqu'une touche du clavier est relâchée. Cet événement est
utile pour détecter quand l'utilisateur a terminé une action avec le clavier.
Exemple pratique :
AHAMADI NASRY 14
Résultat :
Explication :
Lorsque l'utilisateur relâche une touche, le paragraphe affiche le nom de la touche qui a été
relâchée
Exemple pratique :
Résultat :
AHAMADI NASRY 15
Note importante :
keypress ne détecte que les touches produisant un caractère imprimable (comme les
lettres, les chiffres ou les symboles). Les touches spéciales comme Shift, Ctrl ou Alt ne
déclenchent pas cet événement.
Dépréciation : L'usage de keypress est déconseillé dans les navigateurs modernes.
Utilisez plutôt keydown ou keyup.
AHAMADI NASRY 16
keypress Lorsqu'une touche Remplacé par keydown.
imprimable est pressée. Utilisation déconseillée.
(Déprécié)
Exemple pratique :
Résultat :
Explication :
Lorsque l'utilisateur clique sur le bouton, une alerte s'affiche avec le message "Bouton cliqué
!".
AHAMADI NASRY 17
2.3.3.2 Événement dblclick
L'événement dblclick est déclenché lorsqu'un utilisateur double-clique sur un élément.
Exemple pratique :
Résultat :
Explication :
Exemple pratique :
Explication :
AHAMADI NASRY 18
Une alerte s'affiche chaque fois que la souris entre dans la zone du <div>.
Exemple pratique :
Résultat :
Explication :
Exemple pratique :
AHAMADI NASRY 19
Explication :
À chaque mouvement de la souris sur le <div>, le texte du paragraphe est mis à jour avec le
message "Souris en mouvement !".
AHAMADI NASRY 20
Mousemove Déclenché lorsque la souris Suivi en temps réel des
est déplacée sur un élément. mouvements de la souris.
submit
change
focus
blur
input
AHAMADI NASRY 21
Résultat :
AHAMADI NASRY 22
Exemple : Suivi des modifications sur un champ de sélection
Résultat :
AHAMADI NASRY 23
Résultat :
AHAMADI NASRY 24
Résultat :
AHAMADI NASRY 25
Résultat :
Événement Description
submit Se déclenche lors de l'envoi d'un formulaire.
change Se déclenche lorsque la valeur d'un champ est
modifiée et que le focus est perdu.
focus Se déclenche lorsqu'un champ reçoit le focus.
blur Se déclenche lorsqu'un champ perd le focus.
input Se déclenche à chaque modification d'un
champ.
AHAMADI NASRY 26
2.3.7 Les évènements : chargement/déchargement de page
2.3.7.1 L'événement load
L'événement load est déclenché lorsque tous les éléments de la page (HTML, CSS, images,
scripts, etc.) sont complètement chargés. Cet événement est souvent utilisé pour initialiser des
scripts ou afficher des messages lorsque la page est prête.
Résultat :
AHAMADI NASRY 27
Exemple : Afficher un message de confirmation avant de quitter
Résultat :
AHAMADI NASRY 28
Résultat :
AHAMADI NASRY 29
2.3.9 Événements DOM : DOMContentLoaded, resize, scroll.
Les événements DOM tels que DOMContentLoaded, resize et scroll sont essentiels pour
interagir avec le DOM et pour réagir aux modifications ou interactions de l'utilisateur avec la
fenêtre ou la page.
Résultat :
AHAMADI NASRY 30
2.3.9.2 L'événement resize
L'événement resize est déclenché lorsqu'un utilisateur redimensionne la fenêtre du navigateur.
Cet événement est souvent utilisé pour ajuster dynamiquement le contenu ou les styles en
fonction de la taille de la fenêtre.
Résultat :
AHAMADI NASRY 31
2.3.9.3 L'événement scroll
L'événement scroll est déclenché lorsqu'un utilisateur fait défiler une page ou un élément
contenant une barre de défilement. Cet événement est souvent utilisé pour créer des effets
visuels, des animations ou des barres de progression.
AHAMADI NASRY 32
Résultat :
AHAMADI NASRY 33
resize Déclenché lorsqu'un Ajustements dynamiques de
utilisateur redimensionne la styles ou de contenu.
fenêtre du navigateur.
scroll Déclenché lorsqu'un Création d'animations ou
utilisateur fait défiler la page effets de défilement.
ou un élément contenant une
barre de défilement.
AHAMADI NASRY 34
AHAMADI NASRY 35