v2.5.2
Giriş yap

Javascript click event

munzevi
316 defa görüntülendi
$('.ExpansionElement').on('click',function(){
    design == 0 ?
        $(this).next('sup').next('.CollapseElement').slideToggle() :
    $(this).next('ul').slideToggle();
    $(this).find('i').toggleClass('fa-folder-open fa-folder');
});

yukarıdaki gibi bir toggle'ım mevcut. çalışıyor bir sorun yok, ama sonradan javascript ile bu yapıya yeni öğeler eklediğimde, yeni eklenen öğeler için bu kod çalışmıyor. birkaç çeşitli yöntem denedim sonuca ulaşamadım. eventlistner ile dinleyerek çalıştırdığımda ise, her tıklamada yeniden yeniden fonksiyonu çağırdığı için, 3 tıklama sonra 4 kere çalışmış oluyor. htmlde onclick kullanımı dışında, çözüm önerisi olan var mı?

Cevap yaz
Cevaplar (2)
abdullahx
725 gün önce
$(document).on('click', '.ExpansionElement', function(){
    design == 0 ?
        $(this).next('sup').next('.CollapseElement').slideToggle() :
    $(this).next('ul').slideToggle();
    $(this).find('i').toggleClass('fa-folder-open fa-folder');
});
munzevi
725 gün önce

teşekkür ederim bende konuyu yazdıktan sonra tam şurada buldum cevabı: https://stackoverflow.com/questions/24911773/onclick-js-does-not-work-with-new-elements-in-dom

o kadar uğraşıp, soru sorunca cevabı bulmak sinir bozucu. sağol : )