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

  • Jason Parker

    Jason Parker

    14 Aralık 2009
  • MofoHifi Records

    MofoHifi Rec

    15 HAZİRAN 2006
  • TheMasterOfHell100

    TheMasterOfH

    13 AĞUSTOS 2011