ก่อนหน้านี้เราสามารถเชื่อมต่อdomManipวิธีการของ jQuery เพื่อจับการปรับแต่ง jQuery dom ทั้งหมดและดูว่ามีองค์ประกอบใดบ้างที่แทรก ฯลฯ แต่ทีม jQuery ปิดตัวลงใน jQuery 3.0+ เนื่องจากโดยทั่วไปแล้วไม่ใช่วิธีที่ดีในการเชื่อมต่อกับวิธีการ jQuery ด้วยวิธีนี้และพวกเขา ' ทำให้domManipวิธีการภายในไม่สามารถใช้ได้อีกต่อไปนอกรหัส jQuery หลัก
เหตุการณ์การกลายพันธุ์ได้ถูกเลิกใช้เช่นกันเนื่องจากก่อนหน้านี้เราสามารถทำบางสิ่งได้เช่น
$(document).on('DOMNodeInserted', function(e) {
if ( $(e.target).hasClass('MyClass') ) {
}
});
ควรหลีกเลี่ยงสิ่งนี้และควรใช้ Mutation Observers ในปัจจุบันแทนซึ่งจะได้ผลเช่นนี้
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);