Bonjour, est-ce que quelqu'un pourrait m'expliquer le cheminement d'un événement ? Dans mon cours, il est dit :
"Par défaut, les listeners dont déclenchés à la remontée de l’événement.
Il est donc possible de s’abonner à tous les événements se produisant à l’intérieur d’un élément (et pas uniquement sur cet élément).
Je comprends pas pourquoi le fait que les listeners soient déclenchés à la remontée ça fait qu'on puisse s'abonner à tous les évènements se situant à l'intérieur d'un élément ? (un élément c'est une balise html ? un listener c'est ce qui se passe après un évènement ? que veut dire s'abonner ?)

Par ailleurs il y a ce code que je ne comprends pas bien :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
  <button>A</button>
  <button>B</button>
  <button>C</button>
  <p id="msg"></p>
</body>
</html>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
document.getElementsByTagName("body")[0]
  .addEventListener("click", function(evt) {
    var msg = document.getElementById("msg");
    if (evt.target.tagName === "BUTTON") {
        msg.textContent = "Vous avez cliqué sur " +
           evt.target.textContent;
    } else {
        console.log(evt.target);
        msg.textContent = "Vous avez raté les boutons...";
    }
});
Dans mon cours il est dit :
"Le listener reçoit en paramètre un événement, dont l’attribut target contient l’élément cible."
Donc l'attribut target de l'évènement click est l'élément boutton sur lequel on a cliqué. Mais ici evt n'est jamais défini, ça veut dire que le paramètre passé à une fonction d'un listener est automatiquement défini ?