Настройка OnClick с JavaScript работает только с тайм-аут

голоса
1

Я в настоящее время есть кнопка, я поставил OnClick, чтобы после того, как создать элемент в JavaScript:

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

В настоящее время, только имея OnClick в тайм-аут работы:

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

Мне было интересно , есть ли способ , чтобы иметь возможность удалить этот тайм - аут, как я чувствую, что это может занять более 50мс для элемента визуализации, что привело бы к onclickсоздателю неисправного?

Я хотел бы использовать чистый JavaScript для этого.

Все вместе:

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


Задан 03/12/2019 в 00:01
источник пользователем
На других языках...                            


1 ответов

Настройка OnClick с JavaScript работает только с тайм-аут

голоса
1

Я в настоящее время есть кнопка, я поставил OnClick, чтобы после того, как создать элемент в JavaScript:

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

В настоящее время, только имея OnClick в тайм-аут работы:

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

Мне было интересно , есть ли способ , чтобы иметь возможность удалить этот тайм - аут, как я чувствую, что это может занять более 50мс для элемента визуализации, что привело бы к onclickсоздателю неисправного?

Я хотел бы использовать чистый JavaScript для этого.

Все вместе:

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


Ответил 03/12/2019 в 00:01
источник пользователем

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