首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检测、更改或删除现有的变异观察者

检测、更改或删除现有的变异观察者
EN

Stack Overflow用户
提问于 2014-04-03 10:21:03
回答 1查看 3.2K关注 0票数 5

如果某个JS添加了一个变异观察者,其他JS是否有可能检测、删除、替换或更改该观察者?我担心的是,如果一些JS的目标是破坏一些DOM元素而不被发现,那么JS可能想要摆脱任何监视该DOM元素的观察者。

EN

回答 1

Stack Overflow用户

发布于 2014-09-15 15:21:34

我不确定是否已经安装了观察器,但可以通过使用空函数重新观察感兴趣的节点来有效地删除它们。重新观察节点将替换先前的观察者函数(如果存在)。

代码语言:javascript
运行
复制
var observerRef = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;

// Empty function here to replace whatever might have been installed on targets
var observer = new observerRef( function (mutations) { } );

// Could also be id=someid, etc
var targets = document.querySelectorAll('[class=someclassname]'); 

// Update/replace the observers on all the targets
for(var i = 0; i < targets.length; ++i) {
    observer.observe(targets[i], { attributes: true, childList: true, characterData: false } );
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22826657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档