Trước đây người ta có thể móc vào domManip
phương thức của jQuery để bắt tất cả các thao tác jQuery dom và xem những phần tử nào được chèn vào, v.v. nhưng nhóm jQuery đã tắt điều đó trong jQuery 3.0+ vì nó thường không phải là một giải pháp tốt để kết nối vào các phương thức jQuery theo cách đó và họ ' đã thực hiện nó để domManip
phương thức nội bộ không còn khả dụng bên ngoài mã jQuery lõi.
Sự kiện đột biến cũng không được dùng nữa, như trước đây người ta có thể làm một số việc như
$(document).on('DOMNodeInserted', function(e) {
if ( $(e.target).hasClass('MyClass') ) {
}
});
điều này nên tránh và ngày nay nên sử dụng Trình quan sát đột biến để thay thế, sẽ hoạt động như thế này
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);