Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

js mutationobserver

作者:你忘我亡   发布日期:2025-12-11   浏览:36

// 使用 MutationObserver 监听 DOM 变化

// 选择需要观察变动的节点
const targetNode = document.getElementById('some-id');

// 配置观察选项
const config = { attributes: true, childList: true, subtree: true };

// 当观察到变动时的回调函数
const callback = function(mutationsList, observer) {
    for(let mutation of mutationsList) {
        if (mutation.type === 'childList') {
            console.log('子节点发生了变化');
        }
        else if (mutation.type === 'attributes') {
            console.log('属性发生了变化');
        }
    }
};

// 创建一个观察器实例并传入回调函数
const observer = new MutationObserver(callback);

// 以上述配置开始观察目标节点
observer.observe(targetNode, config);

// 之后可以通过以下方式停止观察
// observer.disconnect();

解释说明:

  1. 选择目标节点targetNode 是我们想要监听的 DOM 节点。
  2. 配置观察选项config 对象定义了我们要监听哪些类型的变动,比如 attributes(属性变化)、childList(子节点变化)和 subtree(是否观察整个子树)。
  3. 回调函数:当发生指定的变动时,callback 函数会被调用,并传递两个参数:mutationsList(包含所有变动的列表)和 observer(当前的观察器实例)。
  4. 创建观察器:通过 new MutationObserver(callback) 创建一个观察器实例。
  5. 开始观察:使用 observer.observe(targetNode, config) 开始监听目标节点的变化。
  6. 停止观察:可以通过 observer.disconnect() 停止监听。

上一篇:js insertadjacenthtml

下一篇:js defineproperty

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js 数组连接

js json数组

js 数组复制

js 复制数组

js 数组拷贝

js 对象数组合并

js 对象转数组

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站