我使用jquery.min.js的3.2.1版本
我的代码中有这个:
$('#damage1').bind("DOMSubtreeModified",function(){displayIcons();});
但是这行在我的Firefox控制台中导致错误:“不推荐使用Mutation事件。请改用MutationObserver。”
很公平。
在文档中,我将其视为新语法:
new MutationObserver(function callback);
但是,实际上,基于我的基本编码级别,我不知道该怎么做才能有效地替换我弃用的行。
任何帮助,将不胜感激。
DOMSubtreeModified现已折旧。使用MutationObserver下面的代码应该可以解决您的问题。
$(function() {
var observer = new MutationObserver(function(e) {displayIcons();});
observer.observe($('#damage1')[0], {characterData: true, childList: true});
});
DOMSubtreeModified已被弃用。
// Select the node to observe for changes
var targetNode = document.getElementById('#damage1');
// targetNode = document.querySelector('#myTable tbody');
// set which changes to observe
var config = { attributes: true, childList: true, subtree: true };
//create callback function to execute when changes are observed
function diplayIcon(){
//do something
alert("mutation observed");}
//Create an observer instance linked to the callback function
var observer = new MutationObserver(displayIcon);
// Start observing the target node for configured mutations(changes)
observer.observe(targetNode, config);
// Later, you can stop observing
//observer.disconnect();