react-keybinding-component
Advanced tools
Weekly downloads
Changelog
1.0.0
onKey
is now requiredReadme
A React keybinding component, usable with es6, no mixin
react-keybinding-component is a component that will help you set up keybindings in your app. For the moment, only simple key events are supported (one key only, keyup
, keydown
). It's just a less dirty way of using key events instead of having care of them with componentDidMount()
in multiple components.
Import it in your project:
import KeyBinding from 'react-keybinding-component'; // ES6
var KeyBinding = require('react-keybinding-component'); // ES5
Get the eventKey keyCode and log it
<KeyBinding onKey={ (e) => { console.log(e.keyCode) } } />
Get the eventKey keyCode and log it on keyUp
on the window element
<KeyBinding onKey={ (e) => { console.log(e.keyCode) } } type='keyup' elem={ window } />
Have a look at options.
All properties except onKey
are optional.
Property | Description | Default value |
---|---|---|
onKey (required) | the function executed after a key event | () => {} |
type | keyup or keydown | 'keydown' |
target | the element you want to attach the event to, it can be an existing DOM element or a CSS selector (in that case, you will need to add a tabIndex='0' to your element, otherwise the event won't be caught) | document |
preventInputConflict | prevent onKey from firing if you have an onChange on an input, a textarea or a select | false |
preventDefault | prevent event default | false |
preventPropagation | prevent event propagation | false |
A React keybinding component
The npm package react-keybinding-component receives a total of 2,239 weekly downloads. As such, react-keybinding-component popularity was classified as popular.
We found that react-keybinding-component demonstrated a not healthy version release cadence and project activity because the last version was released a year ago.It has 1 open source maintainer collaborating on the project.
Did you know?
Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.