You're polling setInterval to detect DOM changes. `MutationObserver` fires when they happen.
The DOM can change in ways your code didn't trigger — a third-party widget injects a node, a library adds a class, a rich text editor updates its co…
Tech news from the best sources
The DOM can change in ways your code didn't trigger — a third-party widget injects a node, a library adds a class, a rich text editor updates its co…
When you bind Ctrl+S to "save" in a web app, do you check event.key === "s" or event.code === "KeyS" ? The honest answer is "I don't remember, I cop…