Ako odstrániť obsluhu udalosti?
sobes.tech AI
Odpoveď od AI
Existujú tri hlavné spôsoby:
-
Použitie
removeEventListener(): Najbežnejší a odporúčaný spôsob. Vyžaduje odovzdanie tých istých argumentov (typ udalosti, obslužná funkcia a možnosti), ako pri pridávaní pomocouaddEventListener().// Príklad pridania const element = document.getElementById('myElement'); const handler = () => { console.log('Kliknuté'); }; element.addEventListener('click', handler); // Príklad odstránenia element.removeEventListener('click', handler); -
Priradenie
nullvlastnosti udalosti: Funguje iba pre inline obsluhy a tie, ktoré sú priradené cez vlastnosti objektu (napríkladonclick).// Pridanie cez vlastnosť const element = document.getElementById('myElement'); element.onclick = () => { console.log('Kliknuté'); }; // Odstránenie element.onclick = null; -
Použitie
removeListener()(Node.js): Používa sa na spracovanie udalostí v prostredí Node.js (napríklad pre inštancieEventEmitter).// Príklad v Node.js const { EventEmitter } = require('events'); const myEmitter = new EventEmitter(); const handler = () => { console.log('Udalosť sa stala'); }; myEmitter.on('myEvent', handler); // Pridanie myEmitter.removeListener('myEvent', handler); // Odstránenie
Dôležité je, aby ste pri používaní removeEventListener a removeListener odovzdali rovnakú referenciu na funkciu obsluhy, ktorú ste použili pri pridávaní. Odovzdanie anonymnej funkcie alebo novej funkcie s rovnakým obsahom nebude fungovať.