element.appendChild() как выполнить действие после вставки элемента, есть ли коллбек?

191
05 января 2019, 11:00

Мне нужно программно сформировать iframe на странице и потом отправить в него postMessage. На момент отправки сообщения элемент ещё не отрисовался. Может быть у appendChild есть какой-то коллбек в который можно добавить нужный мне функционал? Либо есть какие-то другие варианты? Только не setTimeout. Спасибо

Answer 1

appendChild синхронная операция, скорее всего проблема в том, что фрейм не загрузился. Дожидайтесь события onload у фрейма

const frame = /* как то получили/создали фрейм */
frame.onload = function () {
  /* отправляем запрос */
}
document.body.appendChild(frame);
READ ALSO
Jquery UI Tabs классы

Jquery UI Tabs классы

В общем такая проблема, в стандартной структуре этого плагина навигационные табы находятся сверху, мне же нужно, чтобы они были снизу, но при...

228
Передача параметров из input в textarea

Передача параметров из input в textarea

проблема вознимает при записи строк из input'ов в textareaСразу же после внесения значений в textarea(это выполняет метод foo()) у меня идет заполнение...

228
Скрыть блок при клике вне

Скрыть блок при клике вне

Необходимо скрыть блок,при клике вне него, если кликаю на крестик, то все нормально закрывается, если кликаю вне него, то задний фон остается...

188
Illegal invocation при вызове SetTimeout [дубликат]

Illegal invocation при вызове SetTimeout [дубликат]

На данный вопрос уже ответили:

243