Hogyan távolítjuk el az eseménykezelőt?
sobes.tech MI
Válasz az MI-től
Három fő módszer létezik:
-
removeEventListener()használata: A leggyakoribb és ajánlott módszer. Ugyanazokat az argumentumokat kell átadni (eseménytípus, kezelőfüggvény és opciók), mint azaddEventListener()-nél.// Hozzáadás példája const element = document.getElementById('myElement'); const handler = () => { console.log('Kattintás'); }; element.addEventListener('click', handler); // Eltávolítás példája element.removeEventListener('click', handler); -
nullérték hozzárendelése az eseményhez tartozó tulajdonságnak: Csak inline kezelőknél és azoknál működik, amiket az objektum tulajdonságaként rendeltek hozzá (pl.onclick).// Hozzáadás tulajdonságként const element = document.getElementById('myElement'); element.onclick = () => { console.log('Kattintás'); }; // Eltávolítás element.onclick = null; -
removeListener()használata (Node.js): Alkalmazható eseménykezelésre Node.js környezetben (pl.EventEmitterpéldányoknál).// Node.js példában const { EventEmitter } = require('events'); const myEmitter = new EventEmitter(); const handler = () => { console.log('Esemény történt'); }; myEmitter.on('myEvent', handler); // Hozzáadás myEmitter.removeListener('myEvent', handler); // Eltávolítás
Fontos, hogy a removeEventListener és a removeListener() esetén ugyanarra a függvényreferenciára van szükség, amit az esemény hozzáadásakor használtál. Az anonim függvény vagy ugyanazt a tartalmat tartalmazó új függvény nem fog működni.