Sobes.tech
Junior

Ինչպես հեռացնել իրադարձության մշակողը?

sobes.tech AI

Պատասխան AI-ից

Տրո հիմնական երեք մեթոդներ կան.

  1. Օգտագործել removeEventListener(): Ամենատարածված և խորհուրդ տրված մեթոդը։ Պահանջվում է փոխանցել նույն արգումենտները (պատահարի տեսակ, handler ֆունկցիան և ընտրանքները), ինչպես addEventListener()-ի ժամանակ։

    // Օրինակ ավելացման
    const element = document.getElementById('myElement');
    const handler = () => {
      console.log('Կտտացվեց');
    };
    element.addEventListener('click', handler);
    
    // Օրինակ հեռացման
    element.removeEventListener('click', handler);
    
  2. Տվյալը null-ով նշանակել պատահարի հատկությանը: Աշխատում է միայն inline handler-ների և այն դեպքերում, երբ դրանք նշանակվել են օբյեկտի հատկությունների միջոցով (օր., onclick

    // Ավելացում հատկության միջոցով
    const element = document.getElementById('myElement');
    element.onclick = () => {
      console.log('Կտտացվեց');
    };
    
    // Հեռացում
    element.onclick = null;
    
  3. Օգտագործել removeListener() (Node.js): Կիրառվում է Node.js միջավայրում պատահարի կառավարման համար (օր., EventEmitter-ի օրինակների համար):

    // Node.js օրինակ
    const { EventEmitter } = require('events');
    const myEmitter = new EventEmitter();
    
    const handler = () => {
      console.log('Պատահարը տեղի ունեցավ');
    };
    
    myEmitter.on('myEvent', handler); // Ավելացում
    myEmitter.removeListener('myEvent', handler); // Հեռացում
    

Կարևոր է, որ removeEventListener և removeListener()-ի համար փոխանցվի նույն հղումը handler ֆունկցիային, որը օգտագործվել է ավելացման ժամանակ։ Անունով ֆունկցիան կամ նոր ֆունկցիա նույն բովանդակությամբ փոխանցելը չի աշխատի։