Einstellung Onclick mit Javascript funktioniert nur mit Timeout

stimmen
1

Im Moment habe ich eine Schaltfläche, dass ich ein Onclick gesetzt, nachdem ich das Element in Javascript zu erstellen:

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

Derzeit haben nur die Onclick in einem Timeout funktioniert:

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

Ich habe mich gefragt , ob es eine Möglichkeit war in der Lage sein , dieses Timeout zu entfernen, da ich das Gefühl , als wenn es als 50ms für das Element mehr nehmen könnte zu machen, das den führen würde onclickandernfalls Schöpfer?

Ich möchte mich für diese reine Javascript verwenden.

Alle zusammen:

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);
});


Veröffentlicht am 03/12/2019 um 00:01
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

Einstellung Onclick mit Javascript funktioniert nur mit Timeout

stimmen
1

Im Moment habe ich eine Schaltfläche, dass ich ein Onclick gesetzt, nachdem ich das Element in Javascript zu erstellen:

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

Derzeit haben nur die Onclick in einem Timeout funktioniert:

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

Ich habe mich gefragt , ob es eine Möglichkeit war in der Lage sein , dieses Timeout zu entfernen, da ich das Gefühl , als wenn es als 50ms für das Element mehr nehmen könnte zu machen, das den führen würde onclickandernfalls Schöpfer?

Ich möchte mich für diese reine Javascript verwenden.

Alle zusammen:

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);
});


Beantwortet am 03/12/2019 um 00:01
quelle vom benutzer

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