Sobes.tech
Junior

Voqealar boshqaruvchini qanday olib tashlash mumkin?

sobes.tech AI

AIdan javob

Uchun uchun asosiy uchta usul mavjud:

  1. removeEventListener() dan foydalanish: Eng keng tarqalgan va tavsiya etilgan usul. Bu usul addEventListener() bilan qo'shilganda ishlatilgan xuddi shunday argumentlarni (hodisa turi, handler funktsiya va opsiyalar) o'tkazishni talab qiladi.

    // Qo'shish misoli
    const element = document.getElementById('myElement');
    const handler = () => {
      console.log('Bosildi');
    };
    element.addEventListener('click', handler);
    
    // O'chirish misoli
    element.removeEventListener('click', handler);
    
  2. Hodisaga null qiymatini berish: Faqat inline handlerlar va ob'ekt xususiyatlari orqali tayinlanganlar uchun ishlaydi (masalan, onclick).

    // Xususiyat orqali qo'shish
    const element = document.getElementById('myElement');
    element.onclick = () => {
      console.log('Bosildi');
    };
    
    // O'chirish
    element.onclick = null;
    
  3. removeListener() dan foydalanish (Node.js): Node.js muhitida hodisalarni boshqarish uchun qo'llaniladi (masalan, EventEmitter uchun).

    // Node.js misoli
    const { EventEmitter } = require('events');
    const myEmitter = new EventEmitter();
    
    const handler = () => {
      console.log('Hodisalar yuz berdi');
    };
    
    myEmitter.on('myEvent', handler); // Qo'shish
    myEmitter.removeListener('myEvent', handler); // O'chirish
    

removeEventListener va removeListener() uchun, xuddi shunday handler funktsiya manzilini uzatish muhimdir, chunki ularni qo'shishda ishlatilgan bo'lishi kerak. Nomli funksiyalar yoki yangi funksiyalar bilan takrorlangan mazmun bilan uzatish ishlamaydi.