<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>javascript监听DOM内容改变事件</title>
<style type="text/css">
#el-test{
line-height: 100px;
width: 200px;
border: #fff solid 1px;
text-align: center;
}
</style>
</head>
<body>
<div id="el-test">QQ 183672812</div>

<script type="text/javascript">
// 选中观察突变的节点
var targetNode = document.getElementById('el-test');

// 观察者的选项(要观察哪些突变)
var config = { attributes: true, characterData: true, childList: true, subtree: true, attributeOldValue: true, characterDataOldValue: true };

// 当观察到突变时执行的回调函数
var callback = function(mutationsList) {
mutationsList.forEach(function(item,index,arr){
if (item.type == 'childList') {
console.log('有节点发生变化,当前节点的内容是:');
console.log(item.target.innerHTML);
} else if (item.type == 'attributes') {
console.log(item.attributeName+'-----属性item.attributeName 发生了变化');
}
});
};

// 创建一个链接到回调函数的观察者实例
var observer = new MutationObserver(callback);

// 开始观察已配置突变的目标节点
observer.observe(targetNode, config);

// 停止观察
//observer.disconnect();
</script>
</body>
</html>

DOM状态监听(观察者模式)的更多相关文章

  1. 截屏状态监听 - iOS

    既接到电话状态监听的需求之后再次添加了截屏状态的监听,当使用 App 时若用户执行截屏操作需要对当前状态进行监听操作,下面有两种方法,其中可以替换截屏的图片内容(Plan A),也可以弹出提示框(Pl ...

  2. Android USB大容量存储时SD卡状态监听(转)

    对SD卡状态监听,到现在为止我知道的有两种方式: 1.注册StorageEventListener来监听sd卡状态 StorageEventListener中有onStorageStateChange ...

  3. 录屏状态监听之防录屏 - iOS

    继之前接到电话.短信和截屏监听需求之后,在 iOS 11.0 系统之上新增了屏幕录制的新功能玩法,所以也随之迎来了新的屏幕录制监听的需求,即防录屏功能监听 ... 通过官方文档得知 capturedD ...

  4. android切换前后台状态监听

    public class BaseApplication extends Application { private static BaseApplication instance; /** * 当前 ...

  5. iOS实现电话状态监听 CoreTelephony

    在程序中如果需要监听电话状态,可以引入CoreTelephony框架,这个框架包含了电话相关的API,可以实现监测来电,查看运营商信息等功能.下面就是具体的实现监测来电的代码.一定要把center写成 ...

  6. 短信状态监听 - iOS

    当使用 App 时若短信介入需要对当前状态进行监听操作,根据不同的状态实行相关的需求操作,废话不多说步骤如下. 首先,常规操作先引用对应的头文件,来为后续功能铺路. #import <Messa ...

  7. 电话状态监听 - iOS

    今天接到一个监听状态的需求,当使用 App 时若电话介入需要对当前状态进行监听操作(注:并非通话内容),根据不同的状态实行相关的需求操作,废话不多说步骤如下. 首先,常规操作先引用对应的头文件,来为后 ...

  8. 改进xutils下载管理器,使其,在随意地方进行进度更新,以及其它状态监听操作

    1.前面在做下载进度监听.尝试过,通过加入 弱引用的View进度条,到相应的集合. 等到要进行更新进度的时候.通过Key 获取相应的VIew来进行更新 进度条.效果是达到了,可是我们怎样来监听其它的状 ...

  9. DOM事件监听和触发

    EventTargetAPI定义了DOM事件(mouse事件等)的监听和触发方法,所有的DOM节点都部署了这个接口. 这个接口有三个方法:addEventListener, removeEventLi ...

  10. DOM 事件监听 事件冒泡 事件捕获

    addEventListener() 方法 实例: // 当用户点击按钮时触发监听事件: document.getElementById("myBtn").addEventList ...

随机推荐

  1. vue中wowjs的使用

    笔者亲测,在vue中使用wow.js如果不按照以下方法实施,会出现意想不到的BUG,网页刷新后图片就全部突然看不到了,被增加了一个隐藏属性,建议大家严格按照方法执行,不要随意使用 (1)通过npm安装 ...

  2. 垃圾收集器必问系列—CMS

    本文已收录至Github,推荐阅读 Java随想录 微信公众号:Java随想录 CSDN: 码农BookSea 应该相信,自己是生活的战胜者.--雨果 目录 CMS简介 运作过程 CMS的缺陷 处理器 ...

  3. 干货满满的 Zookeeper 学习笔记

    读完< ZooKeeper : Wait-free coordination for Internet-scale systems > 论文的一些笔记,记录下来,方便以后查看 在读论文的时 ...

  4. 重定向Kubernetes pod中的tcpdump输出

    重定向Kubernetes pod中的tcpdump输出 最新发现一个比较有意思的库ksniff,它是一个kubectl 插件,使用tcpdump来远程捕获Kubernetes集群中的pod流量并保存 ...

  5. Vue27 scoped样式

    https://www.jianshu.com/p/d80383251fc5 1 简介 当我们在组件中写样式,vue最后会把所有样式合在一起,如果样式名称重复的话就会有问题 style标签上加scop ...

  6. DVWA靶场实战(十四)——JavaScript

    DVWA靶场实战(十四) 五.Java Script: 1.漏洞原理: 这里的JavaScript其实是JavaScript Attack也就是JS攻击.JavaScript是一种基于对象和事件驱动的 ...

  7. 内网安全之:黄金&白银票据传递域控制器权限维持

    内网安全之:黄金&白银票据传递域控制器权限维持 目录 内网安全之:黄金&白银票据传递域控制器权限维持 1 Golden Ticket 1.1 导出 krbtgt 的 NTLM Hash ...

  8. DESIR队列:早期axSpA的脊柱放射学进展

    DESIR队列:早期axSpA的脊柱放射学进展 EULAR2015; PresentID: FRI0234 SPINAL RADIOGRAPHIC PROGRESSION IN EARLY AXIAL ...

  9. C#计时器 Stopwatch 使用demo

    Stopwatch st = new Stopwatch(); st.Start(); for(int i =0; i<100000; i++) { console.writeLine('输出' ...

  10. JSP 页面引入静态资源 404 未找到

    jsp 页面引入了 css 文件,部署项目时发现 css 不生效,打开 f12 查看网络,发现请求状态码是 404.导致这个问题的情况大概有以下两种情况: 如果你通过浏览器 f12 查看 link 或 ...