Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Simulate a key event.
- * @param {Number} keyCode The keyCode of the key to simulate
- * @param {String} type (optional) The type of event : down, up or press. The default is down
- * @param {Object} modifiers (optional) An object which contains modifiers keys { ctrlKey: true, altKey: false, ...}
- */
- function simulateKey (keyCode, type, modifiers) {
- var evtName = (typeof(type) === "string") ? "key" + type : "keydown";
- var modifier = (typeof(modifiers) === "object") ? modifier : {};
- var event = document.createEvent("HTMLEvents");
- event.initEvent(evtName, true, false);
- event.keyCode = keyCode;
- for (var i in modifiers) {
- event[i] = modifiers[i];
- }
- document.dispatchEvent(event);
- }
- // Setup some tests
- var onKeyEvent = function (event) {
- var state = "pressed";
- if (event.type !== "keypress") {
- state = event.type.replace("key", "");
- }
- console.log("Key with keyCode " + event.keyCode + " is " + state);
- };
- document.addEventListener("keypress", onKeyEvent, false);
- document.addEventListener("keydown", onKeyEvent, false);
- document.addEventListener("keyup", onKeyEvent, false);
- // Using the function
- simulateKey(38);
- simulateKey(38, "up");
- simulateKey(45, "press");
Add Comment
Please, Sign In to add comment