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

  • Chaoticmoogle

    Chaoticmoogl

    13 ŞUBAT 2006
  • SuppressedStorm

    SuppressedSt

    11 AĞUSTOS 2013
  • the one am radio

    the one am r

    6 Mayıs 2006