Auparavant, on pouvait se connecter à la domManip
méthode de jQuery pour attraper toutes les manipulations de jQuery dom et voir quels éléments étaient insérés, etc. J'ai fait en sorte que l'internedomManip
méthode ne soit plus disponible en dehors du code jQuery principal.
Les événements de mutation sont également obsolètes, car auparavant on pouvait faire quelque chose comme
$(document).on('DOMNodeInserted', function(e) {
if ( $(e.target).hasClass('MyClass') ) {
}
});
cela devrait être évité, et aujourd'hui les observateurs de mutation devraient être utilisés à la place, qui fonctionneraient comme ceci
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
console.log(mutation)
if (mutation.addedNodes && mutation.addedNodes.length > 0) {
var hasClass = [].some.call(mutation.addedNodes, function(el) {
return el.classList.contains('MyClass')
});
if (hasClass) {
console.log('element ".MyClass" added');
}
}
});
});
var config = {
attributes: true,
childList: true,
characterData: true
};
observer.observe(document.body, config);