Junior
Kuidas eemaldada sündmuse töötleja?
sobes.tech AI
Vastus AI-lt
On kolm peamist viisi:
-
Kasutada
removeEventListener(): Kõige levinum ja soovitatav viis. Nõuab sama argumentide (sündmuse tüüp, töötleja ja valikud) edastamist, mis lisamiseladdEventListener()abil.// Lisamise näide const element = document.getElementById('myElement'); const handler = () => { console.log('Klõpsatud'); }; element.addEventListener('click', handler); // Eemaldamise näide element.removeEventListener('click', handler); -
** määrata
nullsündmuse omadusele:** Toimib ainult inline-töötlejate ja nende puhul, mis määratakse objekti omaduste kaudu (näiteksonclick).// Lisamine omaduse kaudu const element = document.getElementById('myElement'); element.onclick = () => { console.log('Klõpsatud'); }; // Eemaldamine element.onclick = null; -
Kasutada
removeListener()(Node.js): Kasutatakse sündmuste töötlemiseks Node.js keskkonnas (näiteksEventEmittereksemplaridel).// Näide Node.js const { EventEmitter } = require('events'); const myEmitter = new EventEmitter(); const handler = () => { console.log('Sündmus toimus'); }; myEmitter.on('myEvent', handler); // Lisamine myEmitter.removeListener('myEvent', handler); // Eemaldamine
Oluline on, et removeEventListener ja removeListener nõuavad sama funktsiooni viidet, mis lisamisel kasutati. Anonüümsete või uute funktsioonide kasutamine sama sisuga ei tööta.