Sobes.tech
Middle

Կարո՞ղ է կանգնեցնել իրադարձությունների տարածումը: Ինչպե՞ս: Ի՞նչ տարբերություն կա stopPropagation և stopImmediatePropagation միջև։

sobes.tech AI

Պատասխան AI-ից

Այո, իրադարձությունների տարածումը կանգնեցնելու համար հնարավոր է օգտագործել stopPropagation() և stopImmediatePropagation() մեթոդները իրադարձության օբյեկտում:

  • event.stopPropagation() կանխում է իրադարձության տարածումը դեպի վեր՝ DOM ծառի վրա, բայց նույն տարրում գտնվող այլ handlers դեռ կկանչվեն:
  • event.stopImmediatePropagation() ոչ միայն կանգնեցնում է տարածումը, այլ նաև կանխում է նույն իրադարձության մյուս handlers-ների կանչը նույն տարրում:

Օրինակ՝

element.addEventListener('click', (event) => {
  event.stopPropagation(); // կամ event.stopImmediatePropagation();
  console.log('Տարրում handler');
});