UNPKG

boilerplate.js

Version:

Development Tools

63 lines (35 loc) 1.3 kB
// List of Keys --> https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values /* How To Use Keydown('s', function() { console.log('s key pressed anywhere on the page'); if(e.ctrlKey) { console.log('Pressed Ctrl + S'); runSaveFunction(); e.preventDefault(); } }); -- Or Target An Element -- <input type="text" id="test" /> Keydown(document.getElementById('test'), 'Escape', function() { console.log('Escape Key Pressed Inside Input'); this.className += ' pressed'; }); */ function Keydown(element, key, cb) { if (arguments.length !== 3) { cb = key; key = element; element = document; } element.addEventListener('keydown', (e) => { if (e.key === key) cb.call(element, e); }); } function Keypress(element, key, cb) { if (arguments.length !== 3) { cb = key; key = element; element = document; } element.addEventListener('keypress', (e) => { if (e.key === key) cb.call(element, e); }); } function Keyup(element, key, cb) { if (arguments.length !== 3) { cb = key; key = element; element = document; } element.addEventListener('keyup', (e) => { if (e.key === key) cb.call(element, e); }); }