mpoy8 adlı üyeden alıntı: mesajı görüntüle
Hocam,
Şöyle durum;
$('#FavoriButonex').click(function(){ var soru_id = $(this).attr('data-id'); $.ajax({ url: 'soru-detay.php', type: 'post', async: false, data: { 'favoriex': 1, 'soru_id': soru_id }, success: function(){ $("#FavoriButonex").remove(); $(".resimserit").append("<button type='submit' class='btn btn-success btn-xs' id='FavoriButon' data-id='"+soru_id+"'><i class='fa fa-heart-o'></i> Fovorilerime Ekle</button>");
En dış fonksiyonda document.ready.function var. Yani döküman hazır olduğu zaman çalışmaya hazır fonksiyonlar burada demiş oluyorsunuz. ikinci butonda dinamik olarak bir buton oluşturuyorsunuz, o buton sayfa yüklenirken aslında yoktu yani document.ready.function fonksiyonu ilk çalıştığı zaman.
Ama sayfayı tekrar yükleyince döküman yeniden yüklendiği için çalışacaktır.
Bu durumda jquery live events kullanmanız lazım. Yani sonradan oluşturulan elemanları bulmak için şu yöntemi kullanabilirisiniz.
$(document).on('click', 'button #FavoriButonex', function(){ var soru_id = $(this).attr('data-id'); $.ajax({ url: 'soru-detay.php', type: 'post', async: false, data: { 'favoriex': 1, 'soru_id': soru_id }, success: function(){ $("#FavoriButonex").remove(); $(".resimserit").append("<button type='submit' class='btn btn-success btn-xs' id='FavoriButon' data-id='"+soru_id+"'><i class='fa fa-heart-o'></i> Fovorilerime Ekle</button>");
Bu ne anlama geliyor.
$(document).on('click', 'button #FavoriButonex', function(){ });
Dökümana yani sayfaya tıklandığı zaman (sayfa mutlaka yüklenmiş olacağı için çalışır.),
döküman içerisinde button tagı içeren html elemanlarını bul ve bunlardan id si favoriButonex olana tıklanmış gibi işlem yap.
yani oradaki .click(function) yerine on('click', 'seçici', function)
kullanırsanız sonradan oluşturulan elemanlar için event tetikleme sorununuz ortadan kalkar.
Malesef Hocam verdiğiniz kod ile çalıştıramadım bu sefer hiç tepki vermedi.

--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 18:27:10 -->-> Daha önceki mesaj 17:45:28 --

Gtaturk adlı üyeden alıntı: mesajı görüntüle
kodları inceleyemedim ama #FavoriButon'da ajax çalıştıktan sonra bunu siliyorsunuz galiba, daha sonra kodla sayfaya yeni bir #FavoriButon ekleniyor. Yeni eklenen buton click olayında çalışmaz çünkü ilk başta ona bi etkileşim atanmamıştı (id si aynı olsa da o buton artık ilk baştaki buton değil). Bu sorundan kurtulmak için $.click fonksiyonu yerine $.on (eski jquery versiyonunda $.live) kullanmanız gerek

edit: yeni fark ettim ajax requestlerini asenkron yerine senkron yapmanızın özel bir nedeni var mı? yoksa async:false yerine async:true yapabilirsiniz ya ada o satırı komple silebilirsiniz
denedim ama pek fark etmedi