Junior
Kā noņemt notikumu apstrādātāju?
sobes.tech AI
Atbilde no AI
Ir trīs galvenie veidi:
-
Izmantot
removeEventListener(): Visbiežāk un ieteicamākais veids. Prasa nodot tās pašas argumentus (notikuma tipu, apstrādes funkciju un opcijas), kā arī pievienojot araddEventListener().// Pievienošanas piemērs const element = document.getElementById('myElement'); const handler = () => { console.log('Klikšķināts'); }; element.addEventListener('click', handler); // Noņemšanas piemērs element.removeEventListener('click', handler); -
Piešķirt
nullnotikuma īpašībai: Darbojas tikai ar inline apstrādātājiem un tiem, kas piešķirti caur objekta īpašībām (piemēram,onclick).// Pievienošanas caur īpašību const element = document.getElementById('myElement'); element.onclick = () => { console.log('Klikšķināts'); }; // Noņemšana element.onclick = null; -
Izmantot
removeListener()(Node.js): Piemērots notikumu apstrādei Node.js vidē (piemēram,EventEmittereksemplāros).// Piemērs Node.js const { EventEmitter } = require('events'); const myEmitter = new EventEmitter(); const handler = () => { console.log('Notikums noticis'); }; myEmitter.on('myEvent', handler); // Pievienošana myEmitter.removeListener('myEvent', handler); // Noņemšana
Svarīgi, ka removeEventListener un removeListener jānodod tā pati funkcijas saite, kas tika izmantota pievienošanai. Anonīmas funkcijas vai jaunas funkcijas ar to pašu saturu nedarbosies.