Simple library for handling keyboard shortcuts in Javascript
Mousetrap is a simple library for handling keyboard shortcuts in Javascript.
It is around 1.7kb minified and gzipped and 3kb minified, has no external dependencies, and has been tested in the following browsers:
It has support for keypress, keydown, and keyup events on specific keys, keyboard combinations, or key sequences.
If you would like to donate to help support Mousetrap development use Gittip.
Include mousetrap on your page before the closing </body> tag
<script src="/path/to/mousetrap.min.js"></script>
Add some keyboard events to listen for
<script>
// single keys
Mousetrap.bind('4', function() { console.log('4'); });
Mousetrap.bind("?", function() { console.log('show shortcuts!'); });
Mousetrap.bind('esc', function() { console.log('escape'); }, 'keyup');
// combinations
Mousetrap.bind('command+shift+K', function() { console.log('command shift k'); });
// map multiple combinations to the same callback
Mousetrap.bind(['command+k', 'ctrl+k'], function() {
console.log('command k or control k');
// return false to prevent default browser behavior
// and stop event from bubbling
return false;
});
// gmail style sequences
Mousetrap.bind('g i', function() { console.log('go to inbox'); });
Mousetrap.bind('* a', function() { console.log('select all'); });
// konami code!
Mousetrap.bind('up up down down left right left right b a enter', function() {
console.log('konami code');
});
</script>
There are a number of other similar libraries out there so what makes this one different?
keydown events (You can specify keypress, keydown, or keyup or let Mousetrap choose for you).? or * without having to specify shift+/ or shift+8 which are not consistent across all keyboardstrigger() methodFull documentation can be found at http://craig.is/killing/mice
We use cookies
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.