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

  • After Effects Tutorials w/ Mikey

    After Effect

    24 HAZİRAN 2009
  • Huot Media

    Huot Media

    7 Mayıs 2010
  • SDSARG3

    SDSARG3

    14 Mart 2009