v2.5.2
Giriş yap

append ile eklenen button click olayını dinleyemiyorum.

kartal
667 defa görüntülendi
<script>
    let creatediv = document.createElement('div');
    Object.values(info).forEach((val,i) => {
        creatediv.innerHTML = ".....";
    });
    element.append(creatediv);
</script>

Sayfa yenilendiğinde create div içine eklenen buton çalışıyor
ama innerHTML eklendikten sonra çalışmıyor.

Cevap yaz
Cevaplar (3)
tayfunerbilen
1647 gün önce

imkanın olmadığı durumlarda kullanabilirsin bu yöntemi, onclick ekleyebiliyorsan zaten sorun yok :)

kartal
1647 gün önce

Çok sağol ama ben butonun içine onclik fonkisiyonu ile parametreyi aldım. Böylece safadaki bütün butonları döngü içine almadan hallettim.

tayfunerbilen
1650 gün önce

sayfaya sonradan eklenen içeriğe event eklemek için vanilla jsde bir tık uğraşmak gerekebiliyor, şu fonksiyon ile yapabilirsin

function live (eventType, elementQuerySelector, cb) {
    document.addEventListener(eventType, function (event) {

        var qs = document.querySelectorAll(elementQuerySelector);

        if (qs) {
            var el = event.target, index = -1;
            while (el && ((index = Array.prototype.indexOf.call(qs, el)) === -1)) {
                el = el.parentElement;
            }

            if (index > -1) {
                cb.call(el, event);
            }
        }
    });
}

live("click", "div.sonradan-eklenen", function (e) {
    // ne istiyorsan
});