监听html元素是否被删除,删除之后重新生成被删除的元素
/**
* 监听水印是否清除和修改
*/
export function watermarkClear() {
// 添加水印的盒子
let box: any = document.querySelector('.dplayer-video-wrap')
// 水印
let watermark: any = document.querySelector('.dplayer-logo')
// 观察器的配置(需要观察什么变动)
const config = { attributes: true, childList: true, subtree: true };
// 当观察到变动时执行的回调函数
const callback = function (mutationsList: any, observer: any) {
watermark = document.querySelector('.dplayer-logo')
let watermarkImg = document.querySelector('.dplayer-logo img')
if (!watermark || !watermarkImg) {
watermark?.remove()
const div = document.createElement("div");
div.className = "dplayer-logo"
div.innerHTML = `<img src="${'/_nuxt/assets/images/AppOverall/watermark.png'}" alt="">`
box?.appendChild(div)
}
};
// 创建一个观察器实例并传入回调函数
const observer = new MutationObserver(callback);
// 以上述配置开始观察目标节点
observer.observe(box, config);
}
调用
watermarkClear()
监听的元素
这个元素被删除之后在这个父盒子里面重新生成
扩展:
元素加 pointer-events: none; 属性使用开发工具就不能直接点到元素所在的代码位置