vue-mouseless
A tiny vue directive to bind shortcut keys using mousetrap.
TL;DR;
Install
npm i vue-mouseless -S
Using locally in a vue component
Typescript:
template input placeholder="Search..." v-mouseless.focus="'. f'" / button v-mouseless="'. s'" @click.prevent="save"Save</button>/template script lang="ts";; /script
Javascript (es6):
; Vue
Alternatively you can globally import the directive:
Typescript:
;; Vue.directive'mouseless', mouseless;
Javascript (es6):
; Vue.directive'mouseless', mouseless;
Focus
Allows to focus a html element when a combination or sequence of keys is matched
Click simulation
This is the default behavior of vue-mouseless. It performs a click on a html component when a combination or sequence of keys is matched. This allows for reuse of the @click functionality already defined in the component.
Custom Action
In case you don't want to focus the element nor trigger its click event, you can provide an action delegate in the options.
Coming soon
- other triggers
- unit tests
Mousetrap support
All keys supported by Mousetrap are also supported by vue-mouseless. Note that because the directive handle all Mousetrap event, there is currently no way to custom handle events. This may be implemented in the future (PRs are welcome).