Sayfayı yenilemeye gerek duymadan işlemleri gerçekleştirmek için Twitter API ve AJAX isteklerine erişmek için PHP kullanıyorum.jQuery Gövde Öğesine Eklenmiş Birden Çok Tıklama Etkinliği (AJAX yüklü içerik)
Geçerli kurulumda, sayfa ilk yüklendiğinde boştur. JQuery'yi kullanarak, document.ready()
, bir zaman çizelgesi kaplayan bir PHP sayfasına yönlendiren bir AJAX isteğini gerçekleştirir, bir dizede HTML yapısını oluşturur ve bunu AJAX başarı işlevine döndürür. Daha sonra HTML olarak işleyen bir div'a ekliyorum.
Yaşadığım sorun, çok fazla dinamik olarak oluşturulmuş içeriğim olduğu için jQuery'deki tıklama etkinliklerim birbirinin üzerine yazıyor. body
öğeye bağlı olan .on("click")
olayım var (document.ready()
üzerinde yok çünkü).
$('body').unbind('click').on('click', '.element', function(e){...}
Bunun sonucu kodunda aşağı uzak olan olay dinleyicisi çalıştığını, ancak değil üstünde olan diğerleri. Bu sorunu nasıl çözebilirim? İlk düşüncem e.stopPropogation
ya da e.stopImmediatePropogation
idi, sanırım daha önce benzer bir durumda kullandım, ama emin değilim.
Tavsiye için şimdiden teşekkür ederiz!
sen. Senin '$ ('beden') koyun ('klik') kesin değil neden. Üzerine ('.element' fonksiyonunu (e 'tıklayın') {...} 'kök öğesinde, böylece dinamik içerik yüklendikten sonra yeniden başlamıyor? – Shayan
Ne sorduğunuzu net olarak anlayamıyorsanız, önceki tıklatma işleyicilerinin neden _all_ 'i kaldırdığınızda daha fazla işlem yapmadığını gerçekten merak ediyor musunuz? yeni bir tane eklemeden önce…? – CBroe
@shayanypn “$ ('html')' ye bağlamaya devam etmeyin, yine de $ ('body') 'ile aynı sorunlara sahip misiniz? – LakeJeffler