Sobes.tech
Junior
197

Оқиға өңдеушісін қалай жоюға болады?

AI-дан жауап

sobes.tech AI

Барлық үш негізгі әдіс бар:

  1. removeEventListener()-ді пайдалану: Ең кең таралған және ұсынылатын әдіс. Ол addEventListener() көмегімен қосқанда қолданылғандай, дәл сол аргументтерді (оқиға түрі, өңдеуші функция және опциялар) беру керек.

    // Қосу мысалы
    const element = document.getElementById('myElement');
    const handler = () => {
      console.log('Түймешікті басу');
    };
    element.addEventListener('click', handler);
    
    // Жою мысалы
    element.removeEventListener('click', handler);
    
  2. Оқиға қасиетіне null тағайындау: Бұл тек inline-өңдеушілер және объектінің қасиеттері арқылы тағайындалғандар үшін жұмыс істейді (мысалы, 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 үшін, өңдеуші функцияның дәл сол сілтемесін беру керек, ол қосу кезінде қолданылған. Анонимді функцияны немесе мазмұны бірдей жаңа функцияны беру жұмыс істемейді.