JQUERY

Jquery live() fonksiyonu

Jquery live() fonksiyonu

Jquery live() fonksiyonu

Öncelikle live fonksiyonu nedir ve neden kullanırızı açıklamaya çalışayım. Şimdi ve gelecekte, mevcut seçici ile eşleşen tüm elemanlar için bir olay tanımlamanıza olanak sağlar.  jQuery daha doğrusu JavaScript ile az çok uğraştıysanız eğer, bir sorunu fark etmişsinizdir. Sayfa ilk yüklendikten sonra, eklenen elementler daha önce eklediğimiz eventlerı tanımaz, tanıması için bu eventleri tekrar çalıştırmamız gerekir. Başka bir değişle sayfaya dinamik olarak eklenen içeriklerde veya ajax ile doldurduğumuz içeriklerdeki elemanlara bir olay atadığımızda( mesela click event) çalışmayacaktır.

jQuery geliştiricileri bunun için live() fonksiyonunu geliştirmişler ve iyide etmişler. Bu sorun gerçektende çok sık karşılaşılan bir sorun ve ben ilk karşılaştığımda biraz uğraşmıştım çözmek için açıkçası. İyi bir programcı olan  değerli bir abimden yardım almıştım. Neyse lafı fazla uzatmadan örnek koduda paylaşayım.

 

Tek bir event atamak

 

$('#sonradaneklenenelement').live('click',function() {

    // yapilacak islemler

    alert("nesneye tıklandı");

});

Birden fazla event atamak

 

$(".<code class="javascript string">sonradaneklenenelement</code>").live({

        mouseenter:

           function()

           {

                $(this).animate({

                'height': 100

            }, 200);

           },

        mouseleave:

           function()

           {

            $(this).animate({

                'height': 20

            }, 200);

           }

       });

 

Sonuç olarak eğer dinamik olarak elementler yaratıyor ve bunlarında mevcut event handlerdan faydalanmasını istiyorsanız .live() fonksiyonunu kullanmanız gerekiyor. Herkese iyi çalışmalar. 

HENÜZ YORUM YAPILMAMIŞ

YORUM GÖNDER