Sobes.tech
Middle

Ar galima sustabdyti įvykių plitimą? Kaip? Kuo skiriasi stopPropagation ir stopImmediatePropagation?

sobes.tech AI

Atsakymas iš AI

Taip, įvykių plitimą galima sustabdyti naudojant stopPropagation() ir stopImmediatePropagation() metodus įvykio objekte.

  • event.stopPropagation() neleidžia įvykiui toliau plisti aukštyn DOM medyje, tačiau kiti tvarkytojai tame pačiame elemente vis dar bus iškviesti.
  • event.stopImmediatePropagation() ne tik sustabdo plitimą, bet ir neleidžia iškviesti kitų to paties įvykio tvarkytojų tame pačiame elemente.

Pavyzdys:

element.addEventListener('click', (event) => {
  event.stopPropagation(); // arba event.stopImmediatePropagation();
  console.log('Elemento tvarkytojas');
});