Maison > interface Web > js tutoriel > Comment puis-je détecter et répondre aux modifications du DOM en JavaScript ?

Comment puis-je détecter et répondre aux modifications du DOM en JavaScript ?

Linda Hamilton
Libérer: 2024-12-15 01:54:09
original
776 Les gens l'ont consulté

How Can I Detect and Respond to DOM Changes in JavaScript?

Détecter les modifications du DOM

Vous pouvez détecter les modifications apportées au modèle d'objet de document (DOM) à l'aide de diverses méthodes.

1. MutationObserver (navigateurs modernes)

const observer = new MutationObserver((mutations) => {
  // Process mutations here...
});

observer.observe(targetElement, { childList: true, subtree: true });
Copier après la connexion

2. Événements de mutation (obsolètes, mais toujours pris en charge)

targetElement.addEventListener('DOMNodeInserted', (event) => {
  // Node added
});

targetElement.addEventListener('DOMNodeRemoved', (event) => {
  // Node removed
});
Copier après la connexion

Exemple : Détection de l'ajout d'entrée

Si vous souhaitez spécifiquement exécuter une fonction lorsqu'un < div> ou est ajouté au HTML, voici un exemple pratique :

const targetElement = document.getElementById('element-to-monitor');

const observer = new MutationObserver((mutations) => {
  mutations.forEach((mutation) => {
    if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
      const addedNodes = mutation.addedNodes;

      Array.from(addedNodes).forEach((node) => {
        if (node.nodeName === 'DIV' || node.nodeName === 'INPUT') {
          // Execute your function here...
        }
      });
    }
  });
});

observer.observe(targetElement, { childList: true, subtree: true });
Copier après la connexion

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