Javascript - 模拟空格键按键

时间:2015-12-01 10:09:43

标签: javascript javascript-events

我到处搜索,阅读MDN上的文档,但我似乎无法解决这个问题。

我想模仿客户端使用Javascript按空格键。

我试过了:

var e = new KeyboardEvent('keydown');
e.which = e.keyCode = 32; // 32 is the keycode for the space bar
document.dispatchEvent(e);

然而,无论出于何种原因,这都无法奏效;如果在上面的代码之前放置了以下事件处理程序:

document.addEventListener('keydown', function(ev){
  console.log(ev.which);
});

0已记录到控制台。

出于某种原因,事件已触发,但密钥始终为0

有人可以帮我解决吗?

2 个答案:

答案 0 :(得分:5)

你可以这样做

var e = new KeyboardEvent('keydown',{'keyCode':32,'which':32});

演示:https://jsfiddle.net/5se13tmg/

参考:https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/KeyboardEvent

答案 1 :(得分:5)

像这样创建你的事件变量:

var e = new Event('keydown');

演示:https://jsfiddle.net/zw7d7d61/