Junior
Kako ukloniti handler događaja?
sobes.tech АИ
Одговор од АИ
Postoje tri glavna načina:
-
Korišćenje
removeEventListener(): Najčešći i preporučeni način. Potrebno je proslediti iste argumente (tip događaja, funkciju rukovaoca i opcije) kao i prilikom dodavanja pomoćuaddEventListener().// Primer dodavanja const element = document.getElementById('myElement'); const handler = () => { console.log('Kliknuto'); }; element.addEventListener('click', handler); // Primer uklanjanja element.removeEventListener('click', handler); -
Dodeljivanje
nullsvojstvu događaja: Radi samo za inline rukovaoce i one koji su dodeljeni putem svojstava objekta (npr.onclick).// Dodavanje putem svojstva const element = document.getElementById('myElement'); element.onclick = () => { console.log('Kliknuto'); }; // Uklanjanje element.onclick = null; -
Korišćenje
removeListener()(Node.js): Koristi se za rukovanje događajima u Node.js okruženju (npr. za instanceEventEmitter).// Primer u Node.js const { EventEmitter } = require('events'); const myEmitter = new EventEmitter(); const handler = () => { console.log('Događaj se desio'); }; myEmitter.on('myEvent', handler); // Dodavanje myEmitter.removeListener('myEvent', handler); // Uklanjanje
Važno je da se za removeEventListener i removeListener prosleđuje ista referenca na funkciju rukovaoca koja je korišćena prilikom dodavanja. Prosleđivanje anonimne funkcije ili nove funkcije sa istim sadržajem neće raditi.