Запуск функции после загрузки дива
Добрый день!
Подскажите, пожалуйста, как сделать запуск функции, только после загрузки div-а (с любым содержанием). После дива расположить скрипт - нельзя Jquery c функцией ready - нельзя |
qwe88, без ready - window.onload ?:D
|
:)
НА сколько я понимаю window.onload это загрузка всей страницы. А мне нужно после загрузки конкретного элмента |
qwe88,
Ну если вы знаете его селектор или id, то можно лупить по нему (например каждые 10 или 5 мс) в доме пока не появится) Но лучше дождаться хотябы загрузки дом, например body onload |
body onload = window.onload , если я не ошибаюсь.
Лупить имеете ввиду через setInterval() ? |
Цитата:
А DOMContentLoaded тож низя? |
Цитата:
Но хотелось бы на будущее понимать, есть ли решение данной задачи |
может дождись загрузки DOM потом через window.onload встав div и вызови функцию
|
qwe88,
Вообще DOMContentLoaded - это просто нативный вариант $(document).ready(...), в любом случае перед манипуляциями с домом надо дождаться пока догрузится хтмл. Самый простой способ - скрипты вниз, если скрипты в head, то DOMContentLoaded. |
<html> <head> <meta charset="utf-8"> </head> <body> <div id="container"></div> <script> div=document.createElement("div") div.innerHTML="foo" observer=new MutationObserver(function(mutations){ mutations.forEach(function(mutation){if(mutation.target.id==="container") alert("my script is running")}) }) observer.observe(container, {childList: true}) setTimeout(function(){container.appendChild(div)}, 3000) </script> </body> </html> |
forwardonly2015,
Как возможный вариант - это прикольно, но в реальном коде так лучше не делать. |
ОК, спасибо!
|
qwe88,
Таймаутом тоже лучше не лупить) Это я предложил потому что вы писали что нельзя ждать загрузки дома. Есть стандартные способы дождаться загрузки, ими и надо пользоваться. Остальное - костыли. |
Согласен
|
Цитата:
|
forwardonly2015,
Конкретно событие не отловить, да, а вот попасть в него + 10мс можно запросто. И бреда я не писал, только в вашем воображении. |
tsigel,
юрий гагарин оказывается, полетел в космос, я поймал это событие, аккурат в 2015. Но это определенно не бред, не надо на меня косо смотреть. |
forwardonly2015,
в отличие от вас, кроме неадеквата я предложил хорошее решение. А вы только пузыри из говна пускаете. Я отказываюсь продолжать беседу в данном направлении с вами. |
tsigel,
То есть единственно возможное решение является неадекватным? Вам уже давно в академики пора, засиделись Вы, батенька в профессоррах. Цитата:
|
Часовой пояс GMT +3, время: 01:12. |