Потъване в събитията в JavaScript

Освен издигане на събития има и потъване. Всъщност събитието първо върви отгоре надолу (етап на прихващане), достига до нашия елемент (етап на целта) и едва тогава започва да се издига (етап на издигане).

За да закачим манипулатор на събитие с оглед етапа на прихващане в addEventListener има трети незадължителен параметър. Ако той е равен на true - събитието ще се задейства на етапа на прихващане, а ако е false - на етапа на издигане (това е по подразбиране). Нека разгледаме с пример:

javascriptelem1.addEventListener('click', function() {
  console.log('зелен - потъване');
}, true);
elem1.addEventListener('click', function() {
  console.log('зелен - издигане');
}, false);

elem2.addEventListener('click', function() {
  console.log('син - потъване');
}, true);
elem2.addEventListener('click', function() {
  console.log('син - издигане');
}, false);

elem3.addEventListener('click', function() {
  console.log('червен - потъване');
}, true);
elem3.addEventListener('click', function() {
  console.log('червен - издигане');
}, false);

Можете да проверите: