javascript ile onclick ayarlanması yalnızca zaman aşımı ile çalışır

oy
1

Şu anda ben onclick javascript elemanı oluşturduktan sonra ayarlı olduğu bir düğme vardır:

document.querySelector('.info').forEach(element => {
    element.innerHTML = `<button id=show-popup-${id}>Show</button>`;
});

Şu anda, sadece bir zaman aşımı çalışmalarında onclick sahip:

window.setTimeout(function() {
  document.getElementById('show-popup').onclick = function() {
    console.log(Hello);
  }
}, 50);

Bunun yol açacağını işlemek için öğesi için 50 milisaniyeden fazla sürebilir sanki hissediyorum gibi bu zaman aşımını kaldırmak edebilmek için herhangi bir yolu var olup olmadığını merak onclickbaşarısız yaratıcısı?

Bunun için saf javascript kullanmak istiyorum.

Hep birlikte:

document.querySelector('.info').forEach(element => {
    element.innerHTML = `<button id=show-popup-${id}>Show</button>`;

    window.setTimeout(function() {
      document.getElementById('show-popup').onclick = function() {
      console.log(Hello);
  }
}, 50);
});


Oluştur 03/12/2019 saat 00:01
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

javascript ile onclick ayarlanması yalnızca zaman aşımı ile çalışır

oy
1

Şu anda ben onclick javascript elemanı oluşturduktan sonra ayarlı olduğu bir düğme vardır:

document.querySelector('.info').forEach(element => {
    element.innerHTML = `<button id="show-popup-${id}">Show</button>`;
});

Şu anda, sadece bir zaman aşımı çalışmalarında onclick sahip:

window.setTimeout(function() {
  document.getElementById('show-popup').onclick = function() {
    console.log("Hello");
  }
}, 50);

Bunun yol açacağını işlemek için öğesi için 50 milisaniyeden fazla sürebilir sanki hissediyorum gibi bu zaman aşımını kaldırmak edebilmek için herhangi bir yolu var olup olmadığını merak onclickbaşarısız yaratıcısı?

Bunun için saf javascript kullanmak istiyorum.

Hep birlikte:

document.querySelector('.info').forEach(element => {
    element.innerHTML = `<button id="show-popup-${id}">Show</button>`;

    window.setTimeout(function() {
      document.getElementById('show-popup').onclick = function() {
      console.log("Hello");
  }
}, 50);
});


Cevap 03/12/2019 saat 00:01
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more