Merge pull request #542 from Chalarangelo/observe
[FEATURE] Add observeMutations.md
This commit is contained in:
27
snippets/observeMutations.md
Normal file
27
snippets/observeMutations.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
### observeMutations
|
||||||
|
|
||||||
|
Returns a new MutationObserver and runs the provided callback for each mutation on the specified element.
|
||||||
|
|
||||||
|
Use a [`MutationObserver`](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver) to observe mutations on the given element.
|
||||||
|
Use `Array.forEach()` to run the callback for each mutation that is observed.
|
||||||
|
Omit the third argument, `options`, to use the default [options](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver#MutationObserverInit) (all `true`).
|
||||||
|
|
||||||
|
```js
|
||||||
|
const observeMutations = (element, callback, options) => {
|
||||||
|
const observer = new MutationObserver(mutations => mutations.forEach(m => callback(m)));
|
||||||
|
observer.observe(element, Object.assign({
|
||||||
|
childList: true,
|
||||||
|
attributes: true,
|
||||||
|
attributeOldValue: true,
|
||||||
|
characterData: true,
|
||||||
|
characterDataOldValue: true,
|
||||||
|
subtree: true
|
||||||
|
}, options));
|
||||||
|
return observer;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
const obs = observeMutations(document, console.log); // Logs all mutations that happen on the page
|
||||||
|
obs.disconnect(); // Disconnects the observer and stops logging mutations on the page
|
||||||
|
```
|
||||||
@ -121,6 +121,7 @@ negate:function
|
|||||||
nthElement:array
|
nthElement:array
|
||||||
objectFromPairs:object,array
|
objectFromPairs:object,array
|
||||||
objectToPairs:object,array
|
objectToPairs:object,array
|
||||||
|
observeMutations:browser,event,advanced
|
||||||
off:browser,event
|
off:browser,event
|
||||||
on:browser,event
|
on:browser,event
|
||||||
once:function
|
once:function
|
||||||
|
|||||||
Reference in New Issue
Block a user