CodeBlanks Logo Icon CodeBlanks

preventDefault

JavaScript kursu · Orta seviye · Ders 40/134

Bir olayın varsayılan davranışını engellemeyi (örneğin form submit) öğrenirsin.

preventDefault

Bazı olayların tarayıcı tarafından yerine getirilen varsayılan davranışları vardır. Bir bağlantıya tıklamak sayfayı yönlendirir, form gönderimi sayfayı yeniler. event.preventDefault() bu davranışı engeller.

link.addEventListener('click', (event) => {
  event.preventDefault();
  console.log('engellendi');
});

Olay hâlâ kabarcıklanır; yalnızca tarayıcının varsayılan eylemi durdurulur. Yayılımı da durdurmak istersen ayrıca stopPropagation çağırırsın.

Form gönderimini engellemek

Form gönderiminde preventDefault çok kullanışlıdır. Sayfa yenilenmeden veriyi JavaScript ile işleyebilir, doğrulama yapabilir ve sonucu gösterebilirsin. Bu, modern tek sayfa uygulamalarının temelidir.

form.addEventListener('submit', (event) => {
  event.preventDefault();
  console.log('form işlendi');
});

submit olayı forma eklenir, düğmeye değil. Bu şekilde Enter tuşuyla da gönderim yakalanır. Doğrulama başarısızsa preventDefault ile gönderimi durdurur, kullanıcıya uyarı gösterirsin.

Uygulama Form gönderiminde preventDefault çağır

form değişkenini tanımla ve #form öğesini seç. submit dinleyicisi ekle ve içinde event.preventDefault() çağırarak sayfa yenilenmesini engelle.

Örnek çözümü göster
const form = document.querySelector('#form');
form.addEventListener('submit', (event) => {
  event.preventDefault();
  console.log('form submitted');
});

Kendini test et

  1. event.preventDefault() ne zaman kullanılır?

    form.addEventListener('submit', (event) => {
      event.preventDefault();
    });
    • Yeni bir öğe oluştururken
    • Dinleyici eklerken
    • Varsayılan davranışı engellemek istediğinde
    • Olay yayılımını durdurmak istediğinde
    Cevabı göster

    Varsayılan davranışı engellemek istediğinde — Doğru! preventDefault varsayılan davranışı engellemek için kullanılır.

  2. Varsayılan davranışı engelle

    form.addEventListener('submit', (event) => {
      event.____();
      console.log('submitted');
    });
    Cevabı göster
    form.addEventListener('submit', (event) => {
      event.preventDefault();
      console.log('submitted');
    });
  3. Olay ve davranışlarını eşleştir

    preventDefault
    Varsayılan davranışı engeller
    submit
    Form gönderimi
    click (bağlantı)
    Sayfa yönlendirme

Orta seviye bölümündeki tüm dersler