Junior
Kaip pašalinti įvykio tvarkyklę?
sobes.tech AI
Atsakymas iš AI
Yra trys pagrindiniai būdai:
-
Naudoti
removeEventListener(): Dažniausias ir rekomenduojamas būdas. Reikalauja perduoti tuos pačius argumentus (įvykio tipą, apdorojimo funkciją ir parinktis), kaip ir pridedant suaddEventListener().// Pridėjimo pavyzdys const element = document.getElementById('myElement'); const handler = () => { console.log('Paspausta'); }; element.addEventListener('click', handler); // Pašalinimo pavyzdys element.removeEventListener('click', handler); -
Priskirti
nullprie įvykio savybės: Veikia tik inline apdorotojams ir tiems, kurie priskirti per objekto savybes (pvz.,onclick).// Pridėjimas per savybę const element = document.getElementById('myElement'); element.onclick = () => { console.log('Paspausta'); }; // Pašalinimas element.onclick = null; -
Naudoti
removeListener()(Node.js): Taikoma įvykių valdymui Node.js aplinkoje (pvz.,EventEmitterpavyzdžiuose).// Pavyzdys Node.js const { EventEmitter } = require('events'); const myEmitter = new EventEmitter(); const handler = () => { console.log('Įvykis įvyko'); }; myEmitter.on('myEvent', handler); // Pridėjimas myEmitter.removeListener('myEvent', handler); // Pašalinimas
Svarbu, kad removeEventListener ir removeListener() perduotų tą pačią nuorodą į apdorojimo funkciją, kuri buvo naudota pridedant. Pateikus anonimę funkciją ar naują funkciją su tuo pačiu turiniu, tai neveiks.