【发布时间】:2020-09-08 04:34:23
【问题描述】:
我在下面有这个突变观察器功能。问题是,如果满足“假”的条件,console.log 将在浏览器中记录多次。我认为解决此问题的最佳方法是在此处添加一些内容,如果遇到突变,请不要运行函数。
在 else if 条件之后添加 mutationObserver.disconnect(); 是实现此目的的最佳方法吗?
window.addEventListener('DOMContentLoaded', (event) => {
// Listening to Class Changes //
var mutationObserver = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
var change = mutation.target.classList.contains('hidden-class');
if (change === true) {
return true;
}
else if (change === false) {
console.log('this mutation is visible');
}
});
})
mutationObserver.observe(document.getElementById('cart-wrapper'), {
attributes: true,
characterData: true,
childList: true,
subtree: true,
attributeOldValue: true,
characterDataOldValue: true
});
});
【问题讨论】:
标签: javascript ajax mutation-observers