Guest User

Untitled

a guest
Jun 18th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. /**
  2. * Simulate a key event.
  3. * @param {Number} keyCode The keyCode of the key to simulate
  4. * @param {String} type (optional) The type of event : down, up or press. The default is down
  5. * @param {Object} modifiers (optional) An object which contains modifiers keys { ctrlKey: true, altKey: false, ...}
  6. */
  7. function simulateKey (keyCode, type, modifiers) {
  8. var evtName = (typeof(type) === "string") ? "key" + type : "keydown";
  9. var modifier = (typeof(modifiers) === "object") ? modifier : {};
  10.  
  11. var event = document.createEvent("HTMLEvents");
  12. event.initEvent(evtName, true, false);
  13. event.keyCode = keyCode;
  14.  
  15. for (var i in modifiers) {
  16. event[i] = modifiers[i];
  17. }
  18.  
  19. document.dispatchEvent(event);
  20. }
  21.  
  22. // Setup some tests
  23.  
  24. var onKeyEvent = function (event) {
  25. var state = "pressed";
  26.  
  27. if (event.type !== "keypress") {
  28. state = event.type.replace("key", "");
  29. }
  30.  
  31. console.log("Key with keyCode " + event.keyCode + " is " + state);
  32. };
  33.  
  34. document.addEventListener("keypress", onKeyEvent, false);
  35. document.addEventListener("keydown", onKeyEvent, false);
  36. document.addEventListener("keyup", onKeyEvent, false);
  37.  
  38. // Using the function
  39. simulateKey(38);
  40. simulateKey(38, "up");
  41. simulateKey(45, "press");
Add Comment
Please, Sign In to add comment