SORU
11 Mayıs 2011, ÇARŞAMBA


'olay arasındaki fark ne.stopPropagation ve olay.preventDefault?

Aynı şeyi yapıyorlar... bir modern bir eski? Ya da farklı tarayıcılar tarafından desteklenir?

Olayları kendime (çerçeve olmadan) ele aldığım zaman ben her zaman kontrol edin ve her ikisi de varsa yürütün sadece. (Ben de ama olaylar node.addEventListener) ile bağlı işe yaramaz hissediyorum 1**,.

Neden iki? Her ikisi de kontrol tutmak gerekir? Ya orada gerçekten bir fark var mı?

(Biliyorum, bir sürü soru, ama aynı tür hepsi =))

CEVAP
11 Mayıs 2011, ÇARŞAMBA


stopPropagation olay zinciri tandır gelen olay durur.

preventDefault tarayıcı bu olay üzerine yapar varsayılan eylemi engeller.

Hadi olduğunu varsayalım

<div id="foo">
 <button id="but" />
</div>

$("#foo").click(function() {
   // mouse click on div
});

$("#but").click(function(ev) {
   // mouse click on button
   ev.stopPropagation();
});

stopPropagation tek düğme tıklatma işleyicisi denir ve divs tıklatma işleyicisi hiçbir zaman tetikler.

Sadece 7 ** öntanımlı eylem durduruldu sadece tarayıcıları ama div tıklatma işleyicisi hala harekete.

Aşağıda MDC ve msdn'den DOM olay nesneleri üzerinde bazı dokümanlar

MSDN:

MDN:

9 ve FF için sadece preventDefault & stopPropagation kullanabilirsiniz.

IE8 desteği ve daha düşük cancelBubble 15 *yerine returnValue 17 *değiştirin

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • alex maybury

    alex maybury

    20 Aralık 2007
  • bobinire

    bobinire

    24 EYLÜL 2006
  • SaraBeautyCorner - Nails and Nail Art Designs, DIY, Fashion & Makeup Tutorial

    SaraBeautyCo

    7 EKİM 2012