SORU
31 AĞUSTOS 2009, PAZARTESİ


olay.() preventDefault vs return false

Belirli bir olayı harekete sonra yürütmeden gelen diğer olay işleyicileri önlemek için istediğim zaman, iki tekniklerden birini kullanabilirsiniz. Örneklerde jQuery kullanırım, ama bu düz-JS de geçerlidir:

1. event.preventDefault()

$('a').click(function (e) {
    // custom handling here
    e.preventDefault();
});

2. return false

$('a').click(function () {
    // custom handling here
    return false;
});

Olay yayılımı durdurmak için bu iki yöntem arasında herhangi bir fark var mı?

Bana, return false; daha basit ve kısa bir yöntem yürütme muhtemelen daha az hata eğilimli olduğu için. Bu yöntem ile, muhafaza, ayraç, vb doğru hakkında hatırlamak zorunda.

Ayrıca, geri arama, ilk parametre yöntemi arayabilir tanımlamak için var. Belki de, bu gibi yapmama ve preventDefault kullanmalıyım neden? Daha iyi yolu nedir?

CEVAP
31 AĞUSTOS 2009, PAZARTESİ


return falsejQuery bir olay işleyicisi içindeetkili e.preventDefault e.stopPropagation her iki arama aynıdır jQuery.Event object. geçti

e.preventDefault() köpürme meydana gelen olay önleyecektir varsayılan olay engeller ve return false her ikisini de yapar. Bu davranış farklı olduğunu unutmayınnormal(non-jQuery) olay işleyicileri, özellikle, return false does not stop the event from bubbling up.

Kaynak: John Resig

Any benefit to using event.preventDefault() over "return false" to cancel out an href click?

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HER0R

    HER0R

    16 Aralık 2007
  • lane182videos

    lane182video

    6 EKİM 2011
  • Ryan Ha

    Ryan Ha

    9 NİSAN 2006