В соответствии с spec только элементы BODY
и FRAMESET
предоставляют событие "onload" для attach, но я хотел бы знать, когда динамически созданный элемент DOM был добавлен в DOM в JavaScript.
Супер-наивные эвристики, которые я сейчас использую, которые работают, следующие:
- Переместите свойство parentNode элемента обратно до тех пор, пока я не найду конечного предка (то есть parentNode.parentNode.parentNode.etc, пока parentNode не будет null)
- Если у конечного предка есть определенное, ненулевое свойство тело
- Предположим, что этот элемент является частью dom
- else
- повторите эти шаги за 100 миллисекунд
То, что я получаю, является либо подтверждением того, что то, что я делаю, достаточно (опять же, оно работает как в IE7, так и в FF3) или в лучшем решении, которое по какой-то причине я совершенно не обращал на это внимания; возможно, другие свойства, которые я должен проверять и т.д.
ИЗМЕНИТЬ: Я хочу, чтобы браузер был несовместим с этим, я не живу в мире с одним браузером, к сожалению; это говорит о том, что информация, относящаяся к браузеру, оценивается, но учтите, какой браузер вы знаете, что он работает. Спасибо!