mutationobserver domsubtreemodified javascript dom javascript-events deprecated dom3

javascript - mutationobserver - domsubtreemodified jquery



¿Por qué el evento DOMSubtreeModified está obsoleto en DOM nivel 3? (2)

¿Por qué el evento DOMSubtreeModified está en deprecated y qué se supone que debemos usar en su lugar?


Creo que los reemplazos serán observadores de mutaciones: https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver

var whatToObserve = {childList: true, attributes: true, subtree: true, attributeOldValue: true, attributeFilter: [''class'', ''style'']}; var mutationObserver = new MutationObserver(function(mutationRecords) { $.each(mutationRecords, function(index, mutationRecord) { if (mutationRecord.type === ''childList'') { if (mutationRecord.addedNodes.length > 0) { //DOM node added, do something } else if (mutationRecord.removedNodes.length > 0) { //DOM node removed, do something } } else if (mutationRecord.type === ''attributes'') { if (mutationRecord.attributeName === ''class'') { //class changed, do something } } }); }); mutationObserver.observe(document.body, whatToObserve);


Si te desplazas un poco hacia abajo , ves:

¡Advertencia! La interfaz MutationEvent se introdujo en los eventos DOM Nivel 2, pero aún no se ha implementado completamente e interoperablemente entre los agentes de usuario. Además, ha habido críticas de que la interfaz, tal como está diseñada, presenta un desafío de rendimiento e implementación. Se está desarrollando una nueva especificación con el objetivo de abordar los casos de uso que resuelven los eventos de mutación, pero de una manera más eficiente. Por lo tanto, esta especificación describe los eventos de mutación para referencia e integridad del comportamiento heredado, pero desaprueba el uso tanto de la interfaz MutationEvent como de la interfaz MutationNameEvent .

La API de reemplazo es observadores de mutación , que están completamente especificados en el estándar de vida DOM que reemplaza todas las tonterías nivel DOM X.