Skip to content

Instantly share code, notes, and snippets.

@jorgeortega
Last active March 21, 2018 08:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jorgeortega/9f2a76dc2370c2dfe84f16ee83860381 to your computer and use it in GitHub Desktop.
Save jorgeortega/9f2a76dc2370c2dfe84f16ee83860381 to your computer and use it in GitHub Desktop.
Handle keyboard events
export function keyboardHandler (event, keys, callback) {
if (typeof event === 'undefined') {
return
}
const key = event.key || event.keyCode
if (keys.includes(key)) {
event.preventDefault()
event.stopPropagation()
callback()
}
}
export function enterSpaceKeyHandler (event, callback) {
keyboardHandler(
event,
['Enter', ' '],
callback
)
}
/* Usage ReactJS */
<Component onKeyDown={(e) => enterSpaceKeyHandler(e, this.doSomething()}/>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment