Я пытаюсь получить событие загрузки или готовности элемента в JQuery или Javascript. Например, представьте, что у меня есть html-страница вроде
<html>
<head>
</head>
<body>
<div id="1"></div>
<div id="2"></div>
<div id="3"></div>
<div id="4"></div>
<div id="5"></div>
<div id="6"></div>
</body>
Здесь я должен получить уведомление, когда будет готов div с идентификатором 3. Это событие должно запускаться перед событием document.ready, поскольку элемент будет готов до этого.
Является ли это возможным?
2 ответа
Вы не можете прикрепить прослушиватель событий load
к div
(только к window
, body
, скриптам, изображениям и фреймам), но вы можете вставить свой скрипт после третий div
:
<body>
<div id="1"></div>
<div id="2"></div>
<div id="3"></div>
<script>doSomething()</script>
<div id="4"></div>
<div id="5"></div>
<div id="6"></div>
</body>
Конечно, это не гарантирует, что все элементы внутри div
(изображения и т. Д.) Завершили загрузку.
Вы можете сделать что-то вроде этого ...
JavaScript:
<script>
function myfunction(){
//my stuff;
}
</script>
HTML:
<!doctype html>
<html>
<head>
</head>
<body>
<div id="1">A</div>
<div id="2">B</div>
<div id="3" >C</div>
<script>myfunction()</script>
<div id="4">D</div>
<div id="5">E</div>
<div id="6">F</div>
</body>
</html>
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.
var pollElementInterval = window.setInterval(function() { var $elem = $('#3'); if ($elem.length) { $elem.append('<div id="element-to-inject">'); window.clearInterval(pollElementInterval); } }, 100);