Skip to content

Instantly share code, notes, and snippets.

@svidgen
Last active May 1, 2021 02:51
Show Gist options
  • Save svidgen/33d3ff7d7098f40a6130579c15cbd384 to your computer and use it in GitHub Desktop.
Save svidgen/33d3ff7d7098f40a6130579c15cbd384 to your computer and use it in GitHub Desktop.
Watch for removal of a node from the document body
var node = document.createElement('div');
node.innerHTML = "you know. hwhatever";
document.body.insertBefore(node, document.body.firstElementChild);
var subnode1 = document.createElement('div');
subnode1.innerHTML = "you know. hwhatever again (1)";
node.appendChild(subnode1);
var subnode2 = document.createElement('div');
subnode2.innerHTML = "you know. hwhatever again (2)";
node.appendChild(subnode2);
var mo = new MutationObserver((events,o) => {
for (var i = 0; i < events.length; i++) {
for (var j = 0; j < events[i].removedNodes.length; j++) {
console.log('caught removal event for', events[i].removedNodes[j]);
}
}
});
mo.observe(document.body, {subtree: true, childList: true});
node.removeChild(subnode1);
node.removeChild(subnode2);
setTimeout(() => {
mo.disconnect();
}, 1000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment