Skip to content

Instantly share code, notes, and snippets.

@saga
Forked from sukima/keyup_event.js
Created January 29, 2019 23:17
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 saga/82f4ae9a41a6ffeda2b36882a8f3ad42 to your computer and use it in GitHub Desktop.
Save saga/82f4ae9a41a6ffeda2b36882a8f3ad42 to your computer and use it in GitHub Desktop.
This is how I managed to facilitate keyboard events in multiple browsers
// <input id="my-input-element" type="text" value="foo"/>
var evt, node = document.getElementById('my-input-element');
// Have to use dispatchEvent/fireEvent because jQuery.trigger will not
// fire an event attached via addEventListener. Each environment has an
// unusual way to trigger a keyup event.
if (node.dispatchEvent) {
// Sane browsers
try {
// Chrome, Safari, Firefox
evt = new KeyboardEvent('keyup');
} catch (e) {
// PhantomJS (wat!)
evt = document.createEvent('KeyboardEvent');
evt.initEvent('keyup', true, false);
}
evt.keyCode = 32;
node.dispatchEvent(evt);
} else {
// IE 8
evt = document.createEventObject('KeyboardEvent');
evt.keyCode = 32;
node.fireEvent('onkeyup', evt);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment