45

Is there a keyboard shortcut in Google Chrome which will break script execution? (Equivalent to pressing the || "Pause script execution" button in the Developer Tools Scripts panel.)

I'd like to use the Dev Tools to inspect an element in its mouseover state; the mouseleave code will obviously run if I try to actually click the pause button!

55

While I haven't found the exact solution to this problem, I did come up with a one-liner that can be put in a page (or pasted in the Javascript console) to achieve my goal:

jQuery(window).keydown(function(e) { if (e.keyCode == 123) debugger; });

This will cause execution to be paused when you hit F12.

(debugger is a JavaScript statement that forces a breakpoint.)


Update: Dev Tools has many built-in shortcuts (press F1 for a list), but you must be focused in the Dev Tools window for them to work. Pausing script execution is F8 (when looking at the Sources tab, as of Chrome 45) or Ctrl+/.

The above one-liner might still be useful if you need to stay focused in the page before pausing.

  • 6
    F8 only works when you are on the "Sources" page in DevTools (Chrome 40) – netvope Jan 26 '15 at 3:20
  • 1
    Does CTRL + / work under Linux or something? Because CTRL + \ appears to work under Windows, and according to others it would be CMD + \ for MAC. – djabraham Sep 15 '17 at 19:11
  • The same effect but without requiring jQuery: window.addEventListener('keydown', e => { if (e.keyCode === 123) debugger }) – pau.moreno May 22 '18 at 15:30
  • sometimes event hotkeys closes the element you want to inspect, setTimeout(function() { debugger; }, 1000) helps here – cyptus Jun 25 '18 at 9:04
10

Google's Keyboard Shortcuts Reference lists for "Pause / resume script execution":

  • F8 or Ctrl+\ (Windows)
  • F8 or Cmd+\ (Mac)

There are easier ways to inspect things in odd states like hover or active. First, find the DOM node in the Elements pane of Chrome Dev Tools. Now you can either right-click the node and look at the "Force Element State" in the context menu, or select the node and look in the Styles tab and find the dashed-box-with-mouse-pointer icon in the top right (next to the +/plus icon which lets you add a new CSS rule to element.style, the element you selected).

When you activate one of these states, the left margin of the elements pane gets a little circle to indicate that you've overridden the natural state of the element on that line.

  • 3
    F8 doesn't work in the main browser window, only in the Dev Tools window. Using Force Element State doesn't help when it's a script listening to events (rather than just CSS) that is doing stuff. – josh3736 Oct 20 '14 at 1:51
  • 3
    F8 does work in the main browser window but you do have to have the Dev Tools window open to the Source tab in the background. – reor Nov 15 '16 at 22:06
8

I wrote a quick little Chrome Extension that allows you to press the Pause button on your keyboard to pause javascript execution

How to get it:

Usage:

  1. Keep chrome developer tools open
  2. Press pause/break on your keyboard
  • 1
    @Flu, I added it to the Chrome Web Store. Enjoy – SpareBytes Dec 8 '14 at 3:22
  • This worked great – I was able to pause so that I could examine HTML dynamically inject into the page. Using the Developer Tools didn't work because the HTML was being removed by the code when it lost focus. – Kenny Evitt Jan 12 '15 at 16:05
  • My keyboard does not have a "Pause/break" button, so I had to map it to a different key. What wasn't immediately obvious to me is that you need to hold down the new key combination WHILE you click on the "Save Combo" button. – Koning Jul 5 '18 at 6:21
0

Exercising my Google-fu, I found the official google list of Chrome keyboard shortcuts

It doesn't seem like there's one dedicated to it. You could always write a plugin which would interpret a key combination as a pause button, though, if you wished.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.