SORU
22 Aralık 2008, PAZARTESİ


Nasıl ınline özelliği ile olay yayılım özniteliği durdurmak için?

Aşağıdakileri göz önünde bulundurun:

<div onclick="alert('you clicked the header')" class="header">
  <span onclick="alert('you clicked inside the header');">something inside the header</span>
</div>

Nasıl kullanıcı alanını tıklattığında, div onclick olayı değil ben yapabilir miyim?

CEVAP
23 Aralık 2008, Salı


Olay içinden bir işlev nesnesi elde etmek için iki yol vardır:

  1. İlk bağımsız değişken, W3C uyumlu bir tarayıcı (Chrome, Firefox, Safari, 9 )
  2. Pencere.Internet Explorer nesne (&;=8 lt) olay

Eğer W3C önerileri takip etmeyin eski tarayıcıları desteklemek gerekiyorsa, genellikle bir işlev içinde aşağıdaki gibi kullanabilirsiniz:

function(e) {
  var event = e || window.event;
  [...];
}

önce biri, sonra diğeri kontrol ve olayı değişken içinde bulundu, hangisi mağaza. Ancak içi bir olay işleyicisi kullanmak için e bir nesne yok. Bu durumda her zaman kullanılabilir ve bağımsız bir işleve komple set anlamına gelir arguments koleksiyon yararlanmak için:

onclick="var event = arguments[0] || window.event; [...]"

Ancak, genel olarak, eğer gerekiyorsa satır içi olay işleyicileri Kaçınılması gereken bir şey konuşmak yayılmasını durdurma gibi karmaşık. Olay işleyicileri yazmak ayrı unsurlar ve bunları takmadan okunabilirliği ve bakımı için hem de orta ve uzun vadede çok daha iyi bir fikir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Android Police

    Android Poli

    21 NİSAN 2010
  • DavidParody

    DavidParody

    17 EKİM 2009
  • VideoGamePervert

    VideoGamePer

    30 AĞUSTOS 2008