Atributo Cambiar el manejo del evento
¿es posible activar un evento cuando un atributo de DOM cambia? Por ejemplo, cuando la fuente de una imagen o el HTML interno de una división se modifica?
Los eventos de mutación proporcionan una solución a este problema. Si bien el soporte del navegador para estos eventos es limitado, ofrecen una forma de monitorear los cambios de atributos.
específicamente, puede utilizar la interfaz MutationObServer como un reemplazo para eventos de mutación. MutationObServer proporciona un método más estandarizado y confiable para observar los cambios DOM, incluidas las modificaciones de atributos.
Así es como puede usar MutationObServer para activar un evento personalizado cuando un atributo cambia:
const observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { if (mutation.type === 'attributes') { const element = mutation.target; const attributeName = mutation.attributeName; const oldValue = mutation.oldValue; const newValue = mutation.newValue; // Trigger custom event with relevant information element.dispatchEvent(new CustomEvent('attributeChanged', { detail: { attributeName, oldValue, newValue } })); } }); }); // Observe the DOM element for attribute changes observer.observe(document.querySelector('#myElement'), { attributes: true });
mediante MutationObServer, puede rastrear efectivamente los cambios de atributos e iniciar eventos personalizados en consecuencia, lo que le permite responder a las modificaciones DOM dinámicas.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3