Hoe verwijder je een gebeurtenis-handler?
sobes.tech AI
Antwoord van AI
Er zijn drie hoofdmethoden:
-
Gebruik
removeEventListener(): De meest voorkomende en aanbevolen methode. Vereist dat dezelfde argumenten (gebeurttype, handlerfunctie en opties) worden doorgegeven als bij het toevoegen metaddEventListener().// Voorbeeld van toevoegen const element = document.getElementById('myElement'); const handler = () => { console.log('Klik'); }; element.addEventListener('click', handler); // Voorbeeld van verwijderen element.removeEventListener('click', handler); -
Stel
nullin op de gebeurtenis-eigenschap: Werkt alleen voor inline handlers en die via objecteigenschappen worden toegewezen (bijvoorbeeldonclick).// Toevoegen via eigenschap const element = document.getElementById('myElement'); element.onclick = () => { console.log('Klik'); }; // Verwijderen element.onclick = null; -
Gebruik
removeListener()(Node.js): Wordt toegepast voor het afhandelen van gebeurtenissen in Node.js-omgevingen (bijvoorbeeld voor instanties vanEventEmitter).// Voorbeeld in Node.js const { EventEmitter } = require('events'); const myEmitter = new EventEmitter(); const handler = () => { console.log('Gebeurtenis opgetreden'); }; myEmitter.on('myEvent', handler); // Toevoegen myEmitter.removeListener('myEvent', handler); // Verwijderen
Het is belangrijk dat je voor removeEventListener en removeListener() dezelfde referentie naar de handlerfunctie doorgeeft die bij het toevoegen is gebruikt. Het doorgeven van een anonieme functie of een nieuwe functie met dezelfde inhoud werkt niet.