v2.5.2
Giriş yap

append ile eklenen button click olayını dinleyemiyorum.

kartal
564 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
1270 gün önce

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

kartal
1270 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
1273 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
});