I want to fire Tab key's keypress
event on a specific condition, but I'm getting error.
Error: Uncaught TypeError: event.initKeyEvent is not a function
Code
function simulateKeyPress(element) {
console.log("Simulate")
var event = document.createEvent('KeyboardEvent'); // create a key event
// define the event
event.initKeyEvent("keypress", // typeArg,
true, // canBubbleArg,
true, // cancelableArg,
null, // viewArg, Specifies UIEvent.view. This value may be null.
false, // ctrlKeyArg,
false, // altKeyArg,
false, // shiftKeyArg,
false, // metaKeyArg,
9, // keyCodeArg,
9); // charCodeArg);
element.dispatchEvent(event);
}
function keyPress(event) {
simulateKeyPress(this);
}
(function() {
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
inputs[i].addEventListener("keypress", keyPress);
}
})()
<input type="text">
<input type="text">
I have been taking following links for reference but still unable to get it working.
- Stackoverflow - Answer given by @Philip Nuzhnyy
- MDN
Following is the link of Fiddle
Edit
Updated Fiddle that uses KeyboardEvent
, but still unable to fire Tab
keypress event.
Also, I'm not looking for jQuery.