Partage
  • Partager sur Facebook
  • Partager sur Twitter

Code addEventListener ne fonctionne pas

Cours Ecrivez du JavaScript pour le web

Sujet résolu
    14 février 2020 à 14:09:31

    Bonjour,

    Je suis le cours "Ecrivez du JavaScript pour le web", et au chapitre 4 sur les événements, impossible de faire fonctionner le script de l'exercice. Les compteurs de la page web restent à 0.

    Pourtant, chaque tâche séparément a été validée. Dans le doute, j'ai même regardé les solutions suggérées... et je ne vois pas où se situe le souci.

    const parent = document.getElementById("parent");
    const child = document.getElementById("child");
    
    const parentCount = 0;
    const childCount = 0;
    
    parent.addEventListener("click", onClick() {let
      parentCount++;
      document.getElementById("parent-count").innerHTML = parentCount;
    });
    
    child.addEventListener("click", onClick(e) {
      e.preventDefault();
      e.stopPropagation();
      childCount++;
      document.getElementById("child-count").innerHTML = childCount;
    });


    Est-ce que vous pouvez m'aider ? Merci !

    • Partager sur Facebook
    • Partager sur Twitter
      14 février 2020 à 14:27:27

      Bonjour,

      Il y a des erreurs dans ton code, voici comment il devrait être:

      parent.addEventListener('click', () => {
          parentCount += 1
          document.getElementById('parent-count').innerHTML = parentCount;
      });

      Pas besoin de mettre "let" devant "parentCount++" sinon tu re-déclares une variable avec le même nom à l'intérieur du listener et donc ton compteur ne sera pas mis à jour. Il ne faut pas déclarer tes compteurs avec "const" car ce mot clé définit la variable comme une constante et sa valeur ne peut donc pas être modifiée après déclaration.

      -
      Edité par Vincent Valvas 14 février 2020 à 14:28:42

      • Partager sur Facebook
      • Partager sur Twitter
        14 février 2020 à 14:33:01

        Je ne m'explique pas ce que fait ce "let" ici (une fausse manip de copier/coller sans doute), parce qu'il n'est pas du tout dans mon vrai code. ^^'

        Cela dit, j'ai testé avec ta syntaxe et ça ne fonctionne pas mieux. Les compteurs restent invariablement à 0. :/

        [Edit] Ah je viens de voir ton edit ! Effectivement c'est ça. Merci ! J'ai encore un peu de mal à situer ce qui peut se faire ou non avec const, je dois dire.

        -
        Edité par Ereold 14 février 2020 à 14:34:29

        • Partager sur Facebook
        • Partager sur Twitter
          14 février 2020 à 14:34:51

          Le "const" sert à définir si une variable peut être modifiée ou non. Si ta variable ne doit pas être modifiée quelque part dans ton code dans ce cas il faut la déclarer "const" sinon "let"

          -
          Edité par Vincent Valvas 14 février 2020 à 14:36:08

          • Partager sur Facebook
          • Partager sur Twitter
            14 février 2020 à 14:36:26

            Edit - ce message était une fausse manip.

            -
            Edité par Ereold 14 février 2020 à 14:37:01

            • Partager sur Facebook
            • Partager sur Twitter

            Code addEventListener ne fonctionne pas

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            • Editeur
            • Markdown