Event delegation nedir, neden kullanılır?

Cevap

Event delegation, çok sayıda alt elemana ayrı ayrı event listener eklemek yerine ortak ebeveyne tek bir listener ekleyip olayın hangi elemandan geldiğini event.target ile ayırt etmektir. Olay kabarcıklanma (bubbling) sayesinde mümkündür.

document.querySelector("#liste").addEventListener("click", (e) => {
  const satir = e.target.closest("li[data-id]");
  if (!satir) return;
  sil(satir.dataset.id);
});

Avantajları:

  • Tek listener: daha az bellek
  • Sonradan eklenen elemanlar için ek kod gerekmez
  • Liste yeniden çizildiğinde listener'ları temizlemekle uğraşılmaz

focus, blur gibi kabarcıklanmayan olaylar için focusin / focusout kullanılır.

  1. var, let ve const arasındaki fark nedir?KolayJavaScriptFrontend
  2. == ile === arasındaki fark nedir?KolayJavaScriptFrontend
  3. Closure nedir? Bir örnekle açıklayın.OrtaJavaScriptFrontend
  4. Aşağıdaki kodun çıktısı nedir? (Event loop)OrtaJavaScriptFrontend
  5. this anahtar kelimesi nasıl belirlenir? Arrow function'larda ne değişir?OrtaJavaScriptFrontend
  6. Bir debounce fonksiyonu yazın.ZorJavaScriptFrontend

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle