MutationObserver: disconnect() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The MutationObserver method disconnect() tells the observer to stop watching for mutations.

The observer can be reused by calling its observe() method again.

Syntax

js
disconnect()

Parameters

None.

Return value

undefined.

Note: All notifications of mutations that have already been detected, but not yet reported to the observer, are discarded. To hold on to and handle the detected but unreported mutations, use the takeRecords() method.

Usage notes

If the element being observed is removed from the DOM, and then subsequently released by the browser's garbage collection mechanism, the MutationObserver will stop observing the removed element. However, the MutationObserver itself can continue to exist to observe other existing elements.

Examples

This example creates an observer, then disconnects from it, leaving it available for possible reuse.

js
const targetNode = document.querySelector("#someElement");
const observerOptions = {
  childList: true,
  attributes: true,
};

const observer = new MutationObserver(callback);
observer.observe(targetNode, observerOptions);

/* some time later… */

observer.disconnect();

Specifications

Specification
DOM Standard
# ref-for-dom-mutationobserver-disconnect①

Browser compatibility

BCD tables only load in the browser