|
|

31.08.2015, 13:18
|
 |
Кандидат Javascript-наук
|
|
Регистрация: 14.06.2014
Сообщений: 137
|
|
|
Запуск функции после загрузки дива
Добрый день!
Подскажите, пожалуйста, как сделать запуск функции, только после загрузки div-а (с любым содержанием).
После дива расположить скрипт - нельзя
Jquery c функцией ready - нельзя
|
|

31.08.2015, 13:36
|
 |
Профессор
|
|
Регистрация: 15.07.2015
Сообщений: 511
|
|
qwe88, без ready - window.onload ? 
Последний раз редактировалось Lemme, 31.08.2015 в 13:42.
|
|

31.08.2015, 13:37
|
 |
Кандидат Javascript-наук
|
|
Регистрация: 14.06.2014
Сообщений: 137
|
|

НА сколько я понимаю window.onload это загрузка всей страницы. А мне нужно после загрузки конкретного элмента
Последний раз редактировалось qwe88, 31.08.2015 в 13:45.
|
|

31.08.2015, 13:49
|
|
Профессор
|
|
Регистрация: 12.12.2012
Сообщений: 1,398
|
|
|
qwe88,
Ну если вы знаете его селектор или id, то можно лупить по нему (например каждые 10 или 5 мс) в доме пока не появится) Но лучше дождаться хотябы загрузки дом, например body onload
|
|

31.08.2015, 13:52
|
 |
Кандидат Javascript-наук
|
|
Регистрация: 14.06.2014
Сообщений: 137
|
|
|
body onload = window.onload , если я не ошибаюсь.
Лупить имеете ввиду через setInterval() ?
|
|

31.08.2015, 13:54
|
|
Профессор
|
|
Регистрация: 12.12.2012
Сообщений: 1,398
|
|
|
Сообщение от qwe88
|
|
Лупить имеете ввиду через setInterval() ?
|
Да.
А DOMContentLoaded тож низя?
Последний раз редактировалось tsigel, 31.08.2015 в 13:59.
|
|

31.08.2015, 14:09
|
 |
Кандидат Javascript-наук
|
|
Регистрация: 14.06.2014
Сообщений: 137
|
|
Сообщение от tsigel
|
Да.
А DOMContentLoaded тож низя?
|
В принципе альтернатива. Спасибо!
Но хотелось бы на будущее понимать, есть ли решение данной задачи
Последний раз редактировалось qwe88, 31.08.2015 в 14:18.
|
|

31.08.2015, 19:01
|
|
Профессор
|
|
Регистрация: 23.09.2014
Сообщений: 197
|
|
|
может дождись загрузки DOM потом через window.onload встав div и вызови функцию
|
|

31.08.2015, 21:05
|
|
Профессор
|
|
Регистрация: 12.12.2012
Сообщений: 1,398
|
|
|
qwe88,
Вообще DOMContentLoaded - это просто нативный вариант $(document).ready(...), в любом случае перед манипуляциями с домом надо дождаться пока догрузится хтмл. Самый простой способ - скрипты вниз, если скрипты в head, то DOMContentLoaded.
|
|

01.09.2015, 04:32
|
|
Аспирант
|
|
Регистрация: 31.08.2015
Сообщений: 90
|
|
<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>
|
|
|
|