How can I add a JavaScript keyboard shortcut to an existing JavaScript Function?
An event handler for the document's keyup event seems like an appropriate solution.
Note: KeyboardEvent.keyCode
was deprecated in favor of key
.
// define a handlerfunction 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.key === 'ArrowDown') { // call your function to do the thing pauseSound(); }}// register the handler document.addEventListener('keyup', doc_keyUp, false);
If you are only searching for trigger an event after pressing a key, try this:
In this example press 'ALT + a'
document.onkeyup=function(e){ var e = e || window.event; // for IE to cover IEs window event-object if(e.altKey && e.which == 65) { alert('Keyboard shortcut working!'); return false; }}
Here is a fiddle: https://jsfiddle.net/dmtf6n27/38/
Please also note there is a difference for the keycode numbers, whether you are using onkeypress or onkeyup. More info here: w3 schools KeyboardEvent keyCode Property
//For single key: Short cut key for 'Z'document.onkeypress = function (e) { var evt = window.event || e; switch (evt.keyCode) { case 90: // Call your method Here break; }}//For combine keys like Alt+Pdocument.onkeyup = function (e) { var evt = window.event || e; if (evt.keyCode == 80 && evt.altKey) { // Call Your method here } }} //ensure if short cut keys are case sensitive. // If its not case sensitive then //check with the evt.keyCode values for both upper case and lower case. ......