Emit custom events from an input so you can do stuff like listening for "enter" and "esc" events the same way as you would "keyup".

npm install add-keyup-events
7 downloads in the last week
15 downloads in the last month


Takes an element, usually an <input> or <textarea> and registers a keyup handler on it that emits named events for special keys. It does enter and esc events by default.

You can override the events by passing an optional second argument that follows the format: {keyvalue: 'customEventName'}.


npm install add-keyup-events


var addKeyupEvents = require('add-keyup-events');

// some input
var input = document.create('input');

// pass it our input

// Now we can listen for "enter" and "esc" events using the
// normal `addEventListener` the browser gives us.
input.addEventListener('enter', doSomething, false);

You can also override the events to listen for whatever you want.

// some input
var input = document.create('input');

// create a custom hash of keycode to event name mappings:
var customEvents = {
    65: 'a',
    12: 'enter'

// pass it our input, and our custom events
addKeyupEvents(input, customEvents);

// now we can listen for 'a' events and 'enter' events
input.addEventListener('a', doSomething, false);


If you like this, follow @HenrikJoreteg on twitter and check out my book: Human JavaScript.



npm loves you