SORU
28 EKİM 2009, ÇARŞAMBA


bir WordPress kullanmak değiştir <olay seçin> YANİ tetikleme yok

<select> elemanları değişken bir dizi olay burada heyet kullanıyorum açıklıyor () ile bir sayfa var. Kullanıcı seçili seçenek değiştiğinde,/sayfasında farklı içerik alanları göstermek veya gizlemek istiyorum. İşte benim kod:

$(document).ready(function() {
  $('#container').change(function(e) {
    var changed = $(e.target);

    if (changed.is('select[name="mySelectName"]')) {
      // Test the selected option and hide/show different content areas.
    }
  });
});

Bu Firefox ve Safari'de çalışıyor, ancak IE değiştirme olayı yok. Kimse neden biliyor musun? Teşekkürler!

CEVAP
28 EKİM 2009, ÇARŞAMBA


change olay IE kabarcık (here here) değil. Bir üye ile birlikte olay heyet kullanın.

Aslında, çünkü bu hata YANİ bu bir WordPress kullanmak live vardı resmen dışlamak change list of supported events (BİLGİNİZE DOM spec Birleşik Devletleri change should bubble).[1]

Sorunuza gelince, her biri doğrudan seçmek için bağlayabilirsiniz:

$('#container select').change(/*...*/)

Eğer gerçekten olay heyet istiyorsanızolabilirIE click this person did ve bağlama, ne başarı çalışırken buluyorumyokbubble:

$('#container').bind($.browser.msie ? 'click' : 'change', function(event) {
    /* test event.type and event.target 
     * to capture only select control changes
     */
})

Ama bu tarayıcı algılama çok yanlış geliyor. Gerçekten eski örneği ile (doğrudan açılan çıkışlar için bağlayıcı bir çalışma denemek istiyorum. <select> kutuları yüzlerce yoksa, olay temsilci burada şimdilik almazdım.


[1] Not: jQuery >= 1.4 şimdi live()/on()) IE change köpürme olayı taklit eder.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • The Slow Mo Guys

    The Slow Mo

    15 AĞUSTOS 2010
  • The White House

    The White Ho

    21 Ocak 2006
  • WoodysGamertag

    WoodysGamert

    17 Aralık 2009