Comment faire pour attendre jusqu'à ce qu'un élément n'existe?
je travaille sur une Extension dans Chrome, et je me demande: Quelle est la meilleure façon de savoir quand un élément entre en existence? En utilisant javascript simple, avec un intervalle qui vérifie jusqu'à ce qu'un élément existe, ou jQuery a-t-il un moyen facile de le faire?
175
demandé sur
Nakilon
0000-00-00 00:00:00
1 réponses
DOMNodeInserted
est déprécié, ainsi que les autres événements de mutation DOM, en raison de problèmes de performance - l'approche recommandée est d'utiliser un MutationObserver pour surveiller le DOM. Il est seulement pris en charge dans les navigateurs plus récents Si, donc vous devriez revenir sur DOMNodeInserted
quand MutationObserver
n'est pas disponible.
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (!mutation.addedNodes) return
for (var i = 0; i < mutation.addedNodes.length; i++) {
// do things to your newly added nodes here
var node = mutation.addedNodes[i]
}
})
})
observer.observe(document.body, {
childList: true
, subtree: true
, attributes: false
, characterData: false
})
// stop watching using:
observer.disconnect()
113
répondu
hughsk
2015-08-05 12:39:58