当前位置: 首页 > news >正文

JS使用MutationObserver接口来监听DOM的更新

在JavaScript中,可以使用MutationObserver接口来监听DOM的更新。以下是一个使用MutationObserver的示例代码,它监听一个DOM节点的变化,并在变化发生时输出信息

// 选择目标节点
const targetNode = document.getElementById('some-id');// 创建一个观察者对象
const observer = new MutationObserver(function(mutationsList, observer) {// 使用mutationsList变化记录进行操作for(let mutation of mutationsList) {if (mutation.type === 'childList' || mutation.type === 'attributes') {console.log('DOM has been updated!');}}
});// 观察者的配置(观察目标节点的子节点变化和属性变化)
const config = { attributes: true, childList: true, subtree: true };// 传入目标节点和观察选项并开始观察
observer.observe(targetNode, config);// 以后,你可以停止观察
// observer.disconnect();

在这个例子中,当#some-id元素的子元素发生变化,或者该元素的属性发生变化时,MutationObserver会被触发,并在控制台输出"DOM has been updated!"。如果你需要停止监听,可以调用observer.disconnect()方法。


http://www.mrgr.cn/news/40383.html

相关文章:

  • 设计模式(1)observer
  • void类型
  • 闭源与开源嵌入模型比较以及提升语义搜索效果的技术探讨
  • 樊登《在云端》【夸克云盘】更新樊登讲书 4k影视 云盘分享
  • 详解TCP协议(三次握手四次挥手)
  • 详解nsenter
  • Python+Requests接口自动化测试框架:测试用例设计
  • 深度学习·wandb
  • LeetCode题练习与总结:二叉树的所有路径--257
  • GEE教程:下载大气环流模型 (GCM)全球数据动态项目 NASA NEX GDDP 产品数据库
  • 2024年使用宝塔面板轻松部署Java Web
  • 关于4G-Cat.1模组Air780E选型,注意事项盘点
  • 【题解】【递推】—— [NOIP2003 普及组] 栈
  • ElasticSearch分词器、相关性详解与聚合查询实战
  • Win10之Ubuntu22.04(主机)与Virtual-BOX(宿主win10)网络互通调试(七十九)
  • Linux: network: /proc/net/sockstat 解读
  • Elasticsearch学习笔记(3)
  • C++14:通过make_index_sequence实现将tuple转换为array
  • Python 并发新境界:探索 `multiprocessing` 模块的无限可能
  • 通信工程学习:什么是DQDB分布式队列双总线