Может ли MutationObserver вносить изменения прямо перед мутацией?Jquery

Программирование на jquery
Anonymous
Может ли MutationObserver вносить изменения прямо перед мутацией?

Сообщение Anonymous »

Мне нужно предотвратить изменение DOM с помощьюmutationobserver.

У меня был (в прошлом) следующий код для предотвращения определенных изменений:

Код: Выделить всё

document.bind("DOMSubtreeModified", function() {
document.find('.Xx.xJ:Contains("wham")').closest("[jsmodel='XNmfOc']").hide();
});
Из соображений производительности я не хотел проверять весь документ при любом изменении dom, а только добавлял содержимое, поэтому перешел на это (сейчас):

Код: Выделить всё

 var observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
[].slice.call(mutation.addedNodes).forEach(function (addedNode) {
StartFilter(addedNode);

});
});
});

observer.observe(document, {
childList: true,
subtree:true,
characterData:true,
attributes:true
});

function StartFilter(newNode) {
$(newNode).find('.Xx.xJ:Contains("wham")').closest("[jsmodel='XNmfOc']").hide();
}
Но на самом деле это не работает. Я предполагаю, что «newNode» на самом деле не является ссылкой на DOM-элемент. (Селектор действителен: "$(newNode).find('.Xx.xJ:Contains("wham")').closest("[jsmodel='XNmfOc']")" возвращает элемент) .

Я не нашел никакого метода/свойства, позволяющего отклонить изменение dom в MutationObserver. Есть ли способ добиться того, чего я хочу, БЕЗ проверки каждый раз всего документа?

Подробнее здесь: https://stackoverflow.com/questions/278 ... e-mutation

Вернуться в «Jquery»