Sobes.tech
Junior

Ինչպես հեռացնել իրադարձության լսողին?

sobes.tech AI

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

Իրադարձության հյուպատոսը հեռացնելու համար օգտագործվում է removeEventListener() մեթոդը: Այս մեթոդը ընդունում է նույն երեք արգումենտները, ինչ addEventListener():

  1. Իրադարձության տեսակ (ստրինգ, օրինակ 'click', 'mouseover'
  2. Հանձնարարող ֆունկցիայի հղում, որը նշանակվել է:
  3. Ընտրովի օբյեկտ կամ բուլյան արժեք, որը ցույց է տալիս փուլը (գրավում կամ բուլլինգ): Պետք է համընկնի այն բանի հետ, ինչ օգտագործվել է ավելացման ժամանակ:

Маհիմ: Հաջողությամբ հեռացնելու համար անհրաժեշտ է փոխանցել նույն ֆունկցիայի հղումը, որը օգտագործվել է ավելացման ժամանակ: Անանուն ֆունկցիաները, որոնք ստեղծվել են "օդում", այդպես հեռացնել հնարավոր չէ:

Օրինակ՝

// Էլեմենտ ստանալ
const element = document.getElementById('myButton');

// Հանձնարարող ֆունկցիա սահմանել
function handleClick() {
  console.log('Կոճակը սեղմված է!');
}

// Ավելացնել հյուպատոսը
element.addEventListener('click', handleClick);

// ...կոդ...

// Հեռացնել հյուպատոսը
element.removeEventListener('click', handleClick);

Եթե հյուպատոսը ավելացվել է ընտրանքներով, օրինակ՝ useCapture: true, ապա նաև դրանք պետք է նշվեն հեռացման ժամանակ:

element.addEventListener('click', handleClick, { capture: true });

// ...

element.removeEventListener('click', handleClick, { capture: true });

Եթե ավելացման ժամանակ երրորդ արգումենտը բաց թողնվել է (նախնական արժեքը false), ապա այն նույնպես կարելի է բաց թողնել կամ սահմանել որպես false:

element.addEventListener('click', handleClick); // useCapture: false՝ նախնական արժեք

// ...

element.removeEventListener('click', handleClick);
element.removeEventListener('click', handleClick, false); // համարժեք