SORU
2 EYLÜL 2009, ÇARŞAMBA


Nasıl bir ebeveyn önlemek'alt çapa tıklandığında ateş özelliği olay s?

Şu anda jQuery div tıklanabilir yapmak için kullanıyorum ve bu div içinde ben de çapa var. İçine çalıştırıyorum sorun ben bir çapa tıkladığınızda iki tıklama olayları tetikleme (dıv ve çapa için). Nasıl bir bağlantı tıklandığında ateş div onclick olay engellerim?

İşte Kırılan kodu:

JavaScript

var url = $("#clickable a").attr("href");

$("#clickable").click(function() {
    window.location = url;
    return true;
})

HTML

<div id="clickable">
    <!-- Other content. -->
    <a href="http://foo.com">I don't want #clickable to handle this click event.</a>
</div>

CEVAP
2 EYLÜL 2009, ÇARŞAMBA


Hangi bir click olayı bağlı olaylar DOM en yüksek noktasına kabarcık. Yani senin örnek bile yoktu başka açıkça tıklanabilir parçalar, div, her çocuk elemanın div olurdu kabarcık tıklaması etkinlik DOM kadar DİV click olay işleyicisi yakalar.

Kontrol etmek için bu iki çözümü aslında olay kökenli kim olduğunu görmek için vardır. bir WordPress kullanmak bir eventargs olayı ile birlikte nesne geçer:

$("#clickable").click(function(e) {
    var senderElement = e.target;
    //check if sender is the DIV element
    window.location = url;
    return true;
});

Ayrıca tıklama olayı kendi işleyicisi çalıştırdıktan sonra stop event bubbling söyle ki: handler link ekleyebilirsiniz

$("#clickable a").click(function(e) {
   //do something
   e.stopPropagation();
})

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ama Jenna

    Ama Jenna

    29 NİSAN 2011
  • superemposed

    superemposed

    25 Aralık 2007
  • thenewboston

    thenewboston

    4 ŞUBAT 2008