Propagation des événements en JavaScript

En plus de la propagation des événements, il y a aussi la capture. En réalité, l'événement descend d'abord de haut en bas (stade de capture), atteint notre élément (stade cible) et ne commence qu'ensuite à remonter (stade de propagation).

Afin d'attacher un gestionnaire d'événement en prenant en compte le stade de capture, dans addEventListener il existe un troisième paramètre optionnel. Si il est égal à true - l'événement se déclenchera au stade de capture, et si false - au stade de propagation (c'est la valeur par défaut). Regardons un exemple :

javascriptelem1.addEventListener('click', function() {
  console.log('vert - capture');
}, true);
elem1.addEventListener('click', function() {
  console.log('vert - propagation');
}, false);

elem2.addEventListener('click', function() {
  console.log('bleu - capture');
}, true);
elem2.addEventListener('click', function() {
  console.log('bleu - propagation');
}, false);

elem3.addEventListener('click', function() {
  console.log('rouge - capture');
}, true);
elem3.addEventListener('click', function() {
  console.log('rouge - propagation');
}, false);

Vous pouvez vérifier :