Я хочу, чтобы код выполнялся, когда определенный элемент и все его дочерние элементы находятся в DOM. Я знаю, как опросить существование желаемого элемента или, что еще лучше, использовать MutationObserver
, но нужный элемент сам по себе довольно большой, и я не могу быть уверен, что все его дети полностью загружены просто на основе его существующего.JQuery: обнаружение при загрузке элемента и всех детей
Я мог ждать ready
, который вызывается, когда все DOM загружен, но обычно загрузка страницы занимает довольно много времени. В интересах скорости я хотел бы знать, не обязательно ожидая $(document).ready()
.
Я нашел функцию on
, я люблю то, что он будет вызван для элементов, которые еще не существуют даже:
$(document).on('SomeEvent', '#desiredElem', handler);
... однако я не знаю событие, которое запускается для полного элемента html в DOM.
Мой скрипт вводится в браузер, и я знаю, что он работает долгое время до $(document).ready()
или DOMContentLoaded
. В основном я хотел бы воспользоваться этим. К сожалению, я не могу добавить теги <script>
.
На стороне заметки будет интересным событие для существующего объекта. Это избавит меня от необходимости использовать MutationObserver
.
Если это что-то похожее на все элементы внутри определенного родительского элемента, скажем, например, все текстовые поля внутри div (скажем, id div1) загружаются, вы можете проверить его с помощью jQuery, получив подсчет входов внутри div1 как 'var cnt = $ ('div1'). find (input);' Если он вернет нужный счет элементов, вы можете запустить необходимое событие. –
Вы можете попробовать свое утверждение внутри $ (window) .load = function() {// statements}); Это событие после полной загрузки страницы. – yjs
Что значит «нужный элемент сам по себе довольно большой»? Что делает его большим? Элемент присутствует или нет. Это никогда не бывает наполовину. Является ли этот элемент частью HTML страницы или динамически добавляется на страницу? Если он динамически вставлен на страницу, вы можете поделиться кодом, который его вставляет? – jfriend00