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); // баробар