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

  • ipsy Makeup Tips

    ipsy Makeup

    19 ŞUBAT 2009
  • Khan Academy

    Khan Academy

    17 Kasım 2006
  • snookie77

    snookie77

    2 Mart 2006