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

  • Atlantic Records

    Atlantic Rec

    15 Aralık 2006
  • Jejoab

    Jejoab

    4 NİSAN 2008
  • VvCompHelpvV

    VvCompHelpvV

    4 EYLÜL 2007