How can I inspect html element that disappears from DOM on lost focus?
I'm trying to inspect CSS properties from an input into a table cell. The input appears on click and disappears on lost focus, as when I try to inspect it. How can I do it to don't lost focus while I move to another window (the inspector)?
Solution 1:
In Chrome browser, open Developer Tools and select Elements tab, then open the contextual menu of the parent node of the element you want to inspect, in the contextual menu click on Break on > Subtree modifications.
Afterwards you just need to click on the page and you'll get on the inspector without losing focus or losing the element you want to inspect.
Solution 2:
You can capture the disappearing element if you pause JavaScript execution with a keyboard shortcut without moving the mouse. Here's how you do this in Chrome:
-
Open up Developer Tools and go to Sources.
-
Note the shortcut to pause script execution—F8.
-
Interact with the UI to get the element to appear.
-
Hit F8.
-
Now you can move your mouse around, inspect the DOM, whatever. The element will stay there.
This trick works in Firefox and other modern browsers as well.
Solution 3:
If all else fails, type this in the Console:
setTimeout(() => { debugger; }, 5000)
Then you've got 5 seconds (or change the value to anything else) to make whatever you want to debug appear.
None of the other answers worked for me - the DOM tree kept getting modified (i.e. stuff I care about disappeared) right before the script paused.
Solution 4:
In chrome devtools settings, there is an option named Emulate a focused page
. Which is disabled by default. After enabling this option, if you click anywhere on the devtool window, it wouldn't cause loss of focus on any element in the DOM.
(For Chrome version < 86)
Go to devtool settings -> preferences
and under Global
option, enable Emulate a focused page
. After that, just click on element to focus, and then click anywhere on the devtool window. You would see that element doesn't lose the focus. So now you can easily inspect or debug.
UPDATE (Chrome version >= 86):
After chrome 86 update, this option has been moved to Rendering
tab. It is no longer available in settings
. Press Command+Shift+P
(Mac) or Control+Shift+P
(Windows, Linux) to open the Command Menu. Start typing Rendering
in the Command Menu and select Show Rendering
. There you can enable Emulate a focused page
.