SORU
14 EKİM 2008, Salı


Olay dinamik olarak oluşturulan öğeleri bağlayıcı?

Ben biraz kod Neredeyim döngü rağmen tüm seçim kutuları üzerinde bir sayfa ve bağlayıcı bir .hover olay bunları yapmak biraz öldürmek ile genişliği mouseon/off.

Bu sayfada hazır olur ve gayet güzel çalışıyor.

Benim sorunum Ajax ile ekleme veya ilk döngü sonra DOM herhangi bir seçim kutusu olay bağlı olmayacak.

Ben buldum bu eklenti (jQuery Live Query Plugin), ama önce ben eklemek başka bir 5k için benim sayfalık bir eklenti, görmek istiyorum eğer herkesin bildiği bir şekilde bunu yapmak için, ya da doğrudan bir WordPress kullanmak ya da başka bir seçenek.

CEVAP
30 Temmuz 2009, PERŞEMBE


JQuery 1.7 olarakjQuery.fn.on kullanmanız gerekir:

$(staticAncestors).on(eventName, dynamicChild, function() {});

Bundan önceönerilen yaklaşım kullanmak live():

$(selector).live( eventName, function(){} );

Ancak, live() on(), lehine 1.7 kaldırılmış ve tamamen 1.9 kaldırıldı. live() imza:

$(selector).live( eventName, function(){} );

... on() aşağıdaki imza ile değiştirilebilir:

$(document).on( eventName, selector, function(){} );

Eğer sayfa dinamik olarak sınıf adı ile element oluşturma dosomething zaten var olan bir ana olay bağlamak istiyorsunuz, örneğin, genellikle 18**.

$(document).on('mouseover mouseout', '.dosomething', function(){
    // what you want to happen when mouseover and mouseout 
    // occurs on elements that match '.dosomething'
});

Olay bağlıdır anda var olan herhangi bir ebeveyn için iyi. Örneğin

$('.buttons').on('click', 'button', function(){
    // do something
});

için de geçerli olacak

<div class="buttons">
    <!-- <button>s that are generated dynamically and added here -->
</div>

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • case LianLi

    case LianLi

    28 Mayıs 2010
  • ethr95awd

    ethr95awd

    8 Kasım 2006
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010