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

  • BrandonHarrisWalker

    BrandonHarri

    27 Kasım 2006
  • CorridorDigital

    CorridorDigi

    17 Mayıs 2010
  • ThePhestor

    ThePhestor

    22 Mart 2011