Search code examples
javascriptloopskeypress

Javascript: loop until CTRL+C is pressed


How can I make a snippet of code loops until CTRL+C is pressed?

I saw from this thread that the indicated snippet of code loops until key a is pressed.

How to make it loop until CTRL+C is pressed ?


Solution

  • By combining the indicated thread with this one, here is a way to do it

    // add the event listener to catch the pressing of CTRL+C
    
    document.body.addEventListener("keydown",function(e){
    
        e = e || window.event;
        var key = e.which || e.keyCode; // keyCode detection
        var ctrl = e?.ctrlKey || (key === 17); // ctrl detection
    
        // if CTRL+C is pressed, stop the loop
        if ( key == 67 && ctrl ) {
            window.clearInterval(interval);
    
            console.log("Ctrl + C was pressed on the browser page (while this one was active).");
            console.log("Loop ends!");     
        }
    
    },false);
    
    
    // define the time interval that elapses between the end and the beginning of the loops
    var x_milliseconds = 1000; // milliseconds
    
    // run a function containing the loop commands, every x_milliseconds
    var interval = setInterval(function() {
        console.log("The code is looping!");
    }, x_milliseconds);