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

  • 8lacKy

    8lacKy

    30 Mart 2009
  • Awesome Toys TV

    Awesome Toys

    18 HAZİRAN 2014
  • ghosti66

    ghosti66

    27 AĞUSTOS 2006