工作中埋码需求,当某些动态插入的元素出现时触发埋码事件,因此需要对插入元素的父节点进行监听,子节点发生变化时触发相应埋码逻辑。

方法一:

(function () {//事件触发时执行埋码内容function do_track() {if ($("#LXB_CONTAINER > ins.lxb-cb-tip.lxb-cb-tip-feedback > ins.lxb-cb-tip-con > ins.success-tip-phone") && eventflag) {//ptengine event api,用户可以自定义eventName_pt_sp_2.push('setCustomEvent', {eventName: '事件名称',isActiveElement: 1});eventflag = false;if (timer) { clearInterval(timer) }}}try {var eventflag = true;var message_box = document.querySelector("#va");//以下代码为监控整个Body元素的变化var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;if (MutationObserver) {var MutationObserverConfig = {childList: true,subtree: true,};var observer = new MutationObserver(function (mutations) {do_track();});observer.observe(message_box, MutationObserverConfig);}else if (message_box.addEventListener) {message_box.addEventListener("DOMSubtreeModified", function (evt) {do_track();}, false);}else {var timer = setInterval(function () {do_track();}, 1000)}} catch (error) {}
})()

方法二(监听元素属性值的变化触发相应逻辑):

//listener active element attribute change
function eventBinding(){try{$('.js-dlpo_modal-open').on('click', function() {$('.js-dlpo_modal').fadeIn();return false;});var targetNode = document.querySelector('#popup-dlpo01');//options listener modelvar options = { attributes: true, childList: true,subtree:true,attributeOldValue:true};var flag = true;//callback for MutationObserverfunction callback(mutationsList, observer) {if(document.querySelector('.js-dlpo_modal').style.display == 'block' && flag){$('.js-dlpo_modal-close').on('click', function() {$('.js-dlpo_modal').fadeOut();return false;});flag = false;}else if(document.querySelector('.js-dlpo_modal').style.display == 'none'){flag = true;}}var mutationObserver = new MutationObserver(callback);if(targetNode){mutationObserver.observe(targetNode, options);}}catch(e){console.log('pterror:'+e)}
}

监听dom页面动态插入元素以及元素属性变化相关推荐

  1. 动态监听DOM元素的高度

    1.背景 考虑这样一种情况,产品同学希望达到以下功能: 在我们的网页中有一个固定区域,这个区域会用于渲染从后端拉取的含有图片等资源的富文本字符串. 他需要在内容不超过一个最大高度的时候完全显示所有内容 ...

  2. Vue + Element UI——监听DOM元素高度和宽度解决方案整理(八种方法)

    问题描述 监听DOM元素大小的变化,在前端开发中,算是一个比较常见的需求,比如我们要制作可伸缩的图表的时候,可能需要根据DOM大小的变化,进行动态的更新图表. 解决方案 方法一: 监听window变化 ...

  3. JS实时监听DOM元素变化 - MutationObserver

    使用 MutationObserver API实时监听DOM元素变化 创建 MutationObserver 实列,接受一个用于监听到DOM元素变化的回调函数 const handleListenCh ...

  4. vue监听dom元素变化修改echar图表

    文章目录 前言 一.install监听依赖 二.使用步骤 1.监听指定id并修改echarts宽高 监听Windows窗口变化 前言 提示:这里可以添加本文要记录的大概内容: vue中监听dom元素变 ...

  5. JavaScript监听DOM节点变化事件

    JS监听页面DOM节点的变化 DOMSubtreeModified DOMNodeInserted DOMNodeRemoved DOMNodeInsertedIntoDocument DOMNode ...

  6. Javascript中关于监听DOM元素状态的方法使用

    Javascript中关于监听DOM元素状态的方法使用 MutationObserver MutationObserver是针对DOM元素的观察器,观察它体内增加/减少子(爷孙)节点,或者子节点的属性 ...

  7. MutationObserver 监听DOM树变化

    1 概述 Mutation observer 是用于代替 Mutation events 作为观察DOM树结构发生变化时,做出相应处理的API.为什么要使用mutation observer 去代替 ...

  8. vue之监听DOM事件

    在vue中也有监听DOM事件,比如这样一个场景,我们输完一个名字之后点击一个按钮获取一个花名,或者牛X的名字代码如下: 代码中:@click可写成v-on:click,不同的写法. 页面效果如下 执行 ...

  9. js 监听dom属性的变化,如id,class

    tinymce中的颜色选择器,选择后只有下划线变了颜色,UI要求字体也变色.下划线和上面的字母都是svg中的path,没有change之类的事件可以监听. <editor@onInit=&quo ...

最新文章

  1. 今天看论坛,有这样一句话,深有同感,还是家里好
  2. 【机器学习入门】(7) 线性回归算法:原理、公式推导、损失函数、似然函数、梯度下降
  3. html怎么调用微信api接口,JFinal Weixin 学习笔记(6)-- 获取微信接口调用凭据
  4. 日本“女机器人”畅销全球,有三个地方最吸引人,网友:想拥有
  5. Android 系统使用USB OTG功能/打开USB Host API功能
  6. Python 3深度置信网络(DBN)在Tensorflow中的实现MNIST手写数字识别
  7. scrapy 命令行基本用法
  8. java wsdl 服务端代码_wsdl2java 生成 webservice服务端代码:
  9. windows系统安装wget指令
  10. python 查询oracle数据库返回具体字段名
  11. 禁忌搜索(Tabu Search)算法及matlab实现(非旅行商(TSP)例子)
  12. 电脑技巧:Win10操作系统关闭这几个功能,可以大幅度提升电脑的运行速度
  13. keras 中fit 和 evaluate中参数 verbose 详解
  14. 网络的层级及各层级的作用
  15. 顶级程序员书单系列二:《编码-隐匿在计算机软硬件背后的语言》
  16. SpringBoot 轻松搞定数据验证 (二)
  17. 《战国策》之《触龙说赵太后》
  18. sql server 数据库中null 转换为 0
  19. Web网站HTML打开QQ聊天窗口示例
  20. 学好数据库,看这9本书就够了

热门文章

  1. API批量操作、zabbix 监控
  2. 撤回的消息服务器上查的出来吗,想查看对方已撤回的微信消息?就用这一招!...
  3. 超级仓库管理系统---(1)概述
  4. 安装win10+ubuntu16.04双系统无法进入桌面问题
  5. 中国联通定位平台及其应用
  6. Linux 太难了?你需要知道这 5 点
  7. 使用PHP将pdf文件和图片进行合并
  8. 中软国际python机试题_【中软国际员工笔试试题及答案】 - 面试网
  9. 基于Android智能跑步机设计与实现
  10. Python闭包Closure