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

  • Chanre Joubert

    Chanre Joube

    27 Temmuz 2012
  • lifeisforsharingDT

    lifeisforsha

    18 Mayıs 2011
  • Machinima

    Machinima

    17 Ocak 2006