Maison > interface Web > js tutoriel > Comment détecter l'ajout d'éléments dans le DOM : dépréciation et alternatives ?

Comment détecter l'ajout d'éléments dans le DOM : dépréciation et alternatives ?

Susan Sarandon
Libérer: 2024-10-21 08:47:29
original
542 Les gens l'ont consulté

How to Detect Element Addition in the DOM: Deprecation and Alternatives?

Observation de l'ajout d'éléments dans le DOM

Pour recevoir une notification lorsqu'un élément est ajouté à une page Web, quelques approches sont disponibles :

Événements de mutation obsolètes :

Auparavant, les événements de mutation (par exemple, DOMNodeInserted) pouvaient être utilisés pour surveiller les modifications du DOM. Cependant, ces événements sont désormais obsolètes.

Interrogation continue :

Une approche obsolète consiste à utiliser setInterval() pour vérifier régulièrement la présence de l'élément souhaité :

<code class="js">function checkDOMChange() {
  // Check for element presence...

  // Continue polling after 100 milliseconds
  setTimeout(checkDOMChange, 100);
}</code>
Copier après la connexion

Il s'agit d'une solution inefficace qui consomme des ressources CPU importantes.

Recommandé : MutationObserver

Les navigateurs modernes prennent en charge MutationObserver, qui offre une alternative à la mutation événements. Il vous permet d'observer les modifications du DOM et d'exécuter une fonction de rappel lorsqu'un élément est ajouté :

<code class="js">const observer = new MutationObserver(mutations => {
  // Process DOM changes...
});

observer.observe(document.documentElement, { childList: true });</code>
Copier après la connexion

En implémentant MutationObserver, vous pouvez surveiller efficacement les ajouts du DOM sans les limitations des événements de mutation obsolètes ou l'inefficacité de l'interrogation continue. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal