Search code examples
javascriptscriptingkeyboardshortcut

How can I add a keyboard shortcut to an existing JavaScript Function?


Here is my code:

function pauseSound() {
    var pauseSound = document.getElementById("backgroundMusic");
    pauseSound.pause(); 
}

I would like to add a keyboard shortcut to this code, how can I do this so that the function can also be executed when a button is clicked too?

Tried to add an else if statement but it doesn't work, any ideas?

function doc_keyUp(e) {
    if (e.ctrlKey && e.keyCode == 88) {
        pauseSound();
    }

    else if (e.ctrlKey && e.keyCode == 84) {
        playSound();
    }
}

Solution

  • Handle the keyup event on the document.

    Note that KeyboardEvent.keyCode was deprecated. Assuming the question code means to check keys by physical location, KeyboardEvent.code is the proper way to do so now.

    // define a handler
    function doc_keyUp(e) {
    
        // this would test for whichever key is 40 (down arrow) and the ctrl key at the same time
        if (e.ctrlKey && e.code === 'ArrowDown') {
            // call your function to do the thing
            pauseSound();
        }
    }
    // register the handler 
    document.addEventListener('keyup', doc_keyUp, false);