CodeGym /Cours /Frontend SELF FR /Travail avec les événements

Travail avec les événements

Frontend SELF FR
Niveau 41 , Leçon 4
Disponible

5.1 Bases du travail avec les événements

Les événements en JavaScript permettent d'interagir avec l'utilisateur et de réagir à ses actions, telles que les clics de souris, les appuis sur les touches, les changements dans les formulaires et bien d'autres. Comprendre comment ajouter et supprimer des gestionnaires d'événements est une partie importante du développement d'applications web interactives.

Qu'est-ce qu'un événement?

Un événement est un signal du navigateur qui indique que quelque chose s'est passé. Par exemple, l'utilisateur a cliqué sur un bouton ou la page a été chargée. Les événements permettent d'exécuter certaines actions en réponse à ces signaux.

Types d'événements

Il existe de nombreux types d'événements. Certains des plus couramment utilisés incluent :

  • Souris: click, dblclick, mouseover, mouseout, mousedown, mouseup, mousemove
  • Clavier: keydown, keyup, keypress
  • Formulaire: submit, change, focus, blur
  • Document/Fenêtre: load, resize, scroll, unload

Gestionnaires d'événements

Les gestionnaires d'événements (ou écouteurs d'événements) sont des fonctions qui s'exécutent en réponse à un événement spécifique. Ils "écoutent" certains événements et se déclenchent lorsque ces événements se produisent.

5.2 Ajout de gestionnaires d'événements

Ajout de gestionnaires d'événements avec addEventListener

La méthode addEventListener permet d'ajouter des gestionnaires d'événements aux éléments. Elle offre plus de flexibilité et de contrôle par rapport aux méthodes traditionnelles d'ajout d'événements, telles que l'utilisation des attributs HTML (onclick, onchange etc.).

Syntaxe :

    
      element.addEventListener(event, handler, options);
    
  

Où :

  • element: l'élément auquel le gestionnaire d'événements est ajouté
  • event: le type d'événement sur lequel réagir (par exemple, 'click', 'input', 'keydown')
  • handler: la fonction qui sera appelée à l'occurrence de l'événement
  • options: paramètres supplémentaires (argument optionnel)

Exemple : Ajout d'un gestionnaire d'événement click

Dans cet exemple, un gestionnaire d'événement est ajouté à un bouton. Lorsque l'utilisateur clique sur le bouton, un message de notification apparaît.

HTML
    
      <!DOCTYPE html>
      <html>
        <head>
          <title>Event Example</title>
        </head>
        <body>
        <button id="myButton">Click me</button>

        <script>
          const button = document.getElementById('myButton');

          button.addEventListener('click', function() {
            alert('Button clicked!');
          });
        </script>
        </body>
      </html>
    
  

Exemple : Ajout de plusieurs gestionnaires d'événements

Avec addEventListener, on peut ajouter plusieurs gestionnaires pour un même événement.

Dans cet exemple, deux gestionnaires d'événements sont ajoutés à un bouton. Lors du clic, les deux gestionnaires s'exécutent successivement, affichant les messages correspondants dans la console.

HTML
    
      <!DOCTYPE html>
      <html>
        <head>
          <title>Event Example</title>
        </head>
        <body>
          <button id="myButton">Click me</button>

          <script>
            const button = document.getElementById('myButton');

            button.addEventListener('click', function() {
              console.log('First handler');
            });

            button.addEventListener('click', function() {
              console.log('Second handler');
            });
          </script>
        </body>
      </html>
    
  

5.3 Utilisation du paramètre options

Le paramètre options permet de configurer le comportement du gestionnaire d'événements. Les options les plus couramment utilisées sont :

  • once: si true, le gestionnaire sera appelé seulement une fois, puis supprimé automatiquement
  • capture: si true, l'événement est traité durant la phase de capture au lieu de la phase de bouillonnement
  • passive: si true, indique que le gestionnaire ne fera jamais appel à preventDefault()

Exemple : Gestionnaire qui s'exécute uniquement une fois

Dans cet exemple, le gestionnaire d'événements s'exécutera seulement une fois, puis sera supprimé automatiquement.

HTML
    
      <!DOCTYPE html>
      <html>
        <head>
          <title>Event Example</title>
        </head>
        <body>
          <button id="myButton">Click me</button>

          <script>
            const button = document.getElementById('myButton');

            button.addEventListener('click', function() {
              alert('This will be shown only once');
            }, { once: true });
          </script>
        </body>
      </html>
    
  

5.4 Suppression des gestionnaires d'événements

Suppression des gestionnaires d'événements avec removeEventListener

La méthode removeEventListener permet de supprimer des gestionnaires d'événements qui ont été ajoutés avec addEventListener. Pour cela, il est nécessaire de fournir les mêmes arguments qui ont été utilisés lors de l'ajout du gestionnaire.

Syntaxe :

    
      element.removeEventListener(event, handler, options)
    
  

Où :

  • element: l'élément dont on supprime le gestionnaire d'événements
  • event: le type d'événement dont le gestionnaire doit être supprimé
  • handler: la fonction qui a été assignée comme gestionnaire d'événements
  • options: paramètres supplémentaires (doivent correspondre aux paramètres utilisés lors de l'ajout du gestionnaire)

Exemple : Suppression du gestionnaire d'événement click

Dans cet exemple, un gestionnaire d'événement click est ajouté à un bouton. Appuyer sur un autre bouton supprime le gestionnaire d'événement click.

HTML
    
      <!DOCTYPE html>
      <html>
        <head>
          <title>Event Example</title>
        </head>
        <body>
          <button id="myButton">Click me</button>
          <button id="removeButton">Remove Click Handler</button>

          <script>
            const button = document.getElementById('myButton');
            const removeButton = document.getElementById('removeButton');

            function clickHandler() {
              alert('Button clicked!');
            }

            button.addEventListener('click', clickHandler);

            removeButton.addEventListener('click', function() {
              button.removeEventListener('click', clickHandler);
              alert('Click handler removed');
            });
          </script>
        </body>
      </html>
    
  
1
Опрос
Éléments DOM,  41 уровень,  4 лекция
недоступен
Éléments DOM
Éléments DOM
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION