Junior
Ինչպես հեռացնել իրադարձության լսողին?
sobes.tech AI
Պատասխան AI-ից
Իրադարձության հյուպատոսը հեռացնելու համար օգտագործվում է removeEventListener() մեթոդը: Այս մեթոդը ընդունում է նույն երեք արգումենտները, ինչ addEventListener():
- Իրադարձության տեսակ (ստրինգ, օրինակ
'click','mouseover')։ - Հանձնարարող ֆունկցիայի հղում, որը նշանակվել է:
- Ընտրովի օբյեկտ կամ բուլյան արժեք, որը ցույց է տալիս փուլը (գրավում կամ բուլլինգ): Պետք է համընկնի այն բանի հետ, ինչ օգտագործվել է ավելացման ժամանակ:
Маհիմ: Հաջողությամբ հեռացնելու համար անհրաժեշտ է փոխանցել նույն ֆունկցիայի հղումը, որը օգտագործվել է ավելացման ժամանակ: Անանուն ֆունկցիաները, որոնք ստեղծվել են "օդում", այդպես հեռացնել հնարավոր չէ:
Օրինակ՝
// Էլեմենտ ստանալ
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); // համարժեք