如何创建和配置一个MutationObserver?
时间: 2024-08-15 16:10:10 浏览: 45
一个MutationObserver类似于CSS选择器的API
在JavaScript中,MutationObserver是一种API,用于检测DOM(文档对象模型)的变化,并允许你在这些变化发生时执行自定义操作。以下是创建和配置MutationObserver的基本步骤:
1. **创建观察者**:
首先,你需要创建一个MutationObserver实例。这通常通过构造函数`new MutationObserver(callback)`完成,其中`callback`是一个回调函数,它会在检测到任何匹配指定选项的DOM更改时被调用。
```javascript
const observer = new MutationObserver(mutationsList => {
// mutationsList是一个数组,包含了所有检测到的修改
console.log('Mutations detected:', mutationsList);
});
```
2. **设置观察目标**:
使用`observe()`方法将观察器应用于某个DOM元素或选择器所选中的节点集。这个方法需要两个参数:需要观察的元素,以及一个MutationRecord类型的选项对象。
```javascript
observer.observe(targetNode, options);
```
`options`可以包含以下属性:
- `attributes`: 是否监视元素的属性更改,默认值是`false`。
- `childList`: 是否监视节点集合的变化,默认值是`true`,这是最常见的需求,因为大部分时候我们关心的是添加、删除或替换子节点。
- `characterData`: 是否监视元素文本内容的更改,默认值是`false`。
3. **开始观察**:
调用`start()`方法开始观察,但在实际项目中,通常不需要显式调用此方法,因为构造函数会自动开始监听。
4. **停止观察**:
当不再需要观察时,可以调用`disconnect()`方法停止观察。
```javascript
// 如果想取消观察
observer.disconnect();
```
阅读全文