Sobes.tech
Junior

Olay dinleyicisi nasıl kaldırılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir olay yöneticisini kaldırmak için removeEventListener() yöntemi kullanılır. Bu yöntem, addEventListener() ile aynı üç argümanı kabul eder:

  1. Olay türü (dize, örneğin 'click', 'mouseover').
  2. Atanan olay yöneticisi fonksiyonuna referans.
  3. Opsiyonel nesne veya bayrak değeri, fazı (yakalama veya yukarı akış) gösterir. Eklenirken kullanılan ile aynı olmalıdır.

Önemli: Başarılı bir şekilde kaldırmak için, aynı fonksiyon referansını geçirmek gerekir, eklerken kullanıldığı gibi. Anonim fonksiyonlar "anlık" oluşturulduğunda bu şekilde kaldırılamaz.

Örnek:

// Öğeyi al
const element = document.getElementById('myButton');

// Olay yöneticisini tanımla
function handleClick() {
  console.log('Butona tıklandı!');
}

// Olay yöneticisini ekle
element.addEventListener('click', handleClick);

// ...kod...

// Olay yöneticisini kaldır
element.removeEventListener('click', handleClick);

Eğer olay yöneticisi opsiyonlarla eklendiyse, örneğin useCapture: true, kaldırırken de belirtilmelidir:

element.addEventListener('click', handleClick, { capture: true });

// ...

element.removeEventListener('click', handleClick, { capture: true });

Üçüncü argüman atlanmışsa (varsayılan false), kaldırırken de atlanabilir veya false olarak kullanılabilir:

element.addEventListener('click', handleClick); // useCapture: false varsayılan

// ...

element.removeEventListener('click', handleClick);
element.removeEventListener('click', handleClick, false); // eşdeğerdir