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

MutationObserver小试牛刀

参考文档

https://developer.mozilla.org/zh-CN/docs/Web/API/MutationObserver

简介

MutationObserver 接口提供了监视对 DOM 树所做更改的能力。
MutationObserver() 构造函数——是 MutationObserver 接口内容的一部分——创建并返回一个新的观察器,它会在触发指定 DOM 事件时,调用指定的回调函数。MutationObserver 对 DOM 的观察不会立即启动;而必须先调用 observe() 方法来确定,要监听哪一部分的 DOM 以及要响应哪些更改。

demo

  • 先监听body
  • 如果出现 包含类名 relation-list 的元素,那么取消对body的监控
  • 同时开启对该元素的监控
  • 对该元素监控时,每次更新只关注该元素本身的更新,且只执行一次回调
;(function(){
  const config = { attributes: false, childList: true, subtree: true }
  const observeLi = new MutationObserver((mutations)=>{
    let onece = false
    mutations.forEach((mutation)=>{
      if(!onece && mutation.target.classList.contains('relation-list')){
        console.log('pxoxq11111: ', mutation)
        onece = true
      }
    })
  })
  const observe = new MutationObserver((mutations)=>{
    let flag = true
    mutations.forEach((mutation)=>{
      if(mutation.target.classList.contains('relation-list') && flag){
        console.log('pxoxq: ', mutation)
        observe.disconnect()
        flag = false
        observeLi.observe(mutation.target, config)
      }
    })
  })
  observe.observe(document.body, config)
})();


http://www.kler.cn/a/293342.html

相关文章:

  • Linux——GPIO输入输出裸机实验
  • zabbix搭建钉钉告警流程
  • 基于Java Web的传智播客crm企业管理系统的设计与实现
  • Zotero 6.0 安装包及安装教程
  • Spark:不能创建Managed表,External表已存在...
  • 【初阶数据结构与算法】链表刷题之移除链表元素、反转链表、找中间节点、合并有序链表、链表的回文结构
  • 计算机基础知识-2
  • 微服务--Nacos
  • 前端进阶:JavaScript实现优雅遮罩层下的表单验证技巧
  • AI聊天应用不能上架?Google play对AI类型应用的规则要求是什么?
  • 高效实用的网站ICP备案查询接口
  • VMEMMAP分析
  • Oracle RAC关于多节点访问同一个数据的过程
  • C 语言指针与数组的深度解析
  • 鸿蒙轻内核M核源码分析系列四 中断Hwi
  • 无人机纪录片航拍认知
  • LLM指令微调实践与分析
  • 用RPC Performance Inspector 优化你的区块链
  • 技术周刊 | Rspack 1.0、v0 支持 Vue、2024 年度编程语言排行榜、Ideogram 2.0、从 0 实现一个 React
  • 深度学习(九)-图像形态操作
  • 《C++进阶之路:探寻预处理宏的替代方案》
  • Spring Boot实现大文件分片下载
  • 谈一谈MVCC
  • 人工智能、机器学习和深度学习有什么区别?应用领域有哪些?
  • Linux 简介
  • HNU-2023电路与电子学-实验1