У меня есть <body>
с именем <body id="check-in-body">
, и я хочу определить, когда класс изменится на этом.Он может измениться с class="theme-1"
на class="theme-2"
и т. Д.
У меня есть код ниже, но я не могу заставить его работать.Я смог заставить его работать частично при удалении && (mutation.attributeName === "class")
и attributeFilter: ['class']
из кода ниже.Но это срабатывает все время, потому что когда у меня есть видимый модальный режим, style="overflow: hidden;"
будет добавлен к body
, и я думаю, что именно это вызывает его.Как я могу слушать только изменения класса на body
?
function searchBackgroundFetch() {
var element = document.querySelector('#check-in-body');
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if ((mutation.type === "attributes") && (mutation.attributeName === "class")) {
console.log('Yeah');
}
});
});
observer.observe(element, {
attributes: true,
attributeFilter: ['class']
});
}