无法插入模拟键盘keydown事件的文本

时间:2017-06-26 12:24:40

标签: javascript html javascript-events keyboard-events

我已经创建了一个以编程方式发送KEYDOWN事件的函数。

如果我打开开发者控制台,我可以看到该事件已成功发送。 我使用这个函数捕获事件:

document.addEventListener ('keydown', function () {
     console.log (JSON.stringify (event.keyCode))
}, false);

但是,如果我点击输入文本字段并以编程方式发送字母“W”的键值(例如),则该字母不会出现在其中。

我做错了什么?

这是以编程方式分派事件的功能:

function sendKeyDownEvent (keyCode) {
     var e = new Event ("keydown");
     e.keyCode = keyCode;
     e.which = e.keyCode;
     e.altKey = false;
     e.ctrlKey = true;
     e.shiftKey = false;
     e.metaKey = false;
     e.bubbles = true;
     document.dispatchEvent (e);
}

1 个答案:

答案 0 :(得分:0)

document.addEventListener ('keydown', function (event) { // pass the event 
 console.log (JSON.stringify (event.keyCode))
}, false);

您需要访问该事件,因此在函数头

中包含变量事件