Javascript - 模拟空格键按键

Tob*_*sta 5 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);
Run Code Online (Sandbox Code Playgroud)

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

document.addEventListener('keydown', function(ev){
  console.log(ev.which);
});
Run Code Online (Sandbox Code Playgroud)

0 登录到控制台.

出于某种原因,事件被触发但关键始终是 0

有人可以帮我解决吗?

R L*_*Lam 6

你可以这样做

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

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

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


J. *_*bet 5

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

var e = new Event('keydown');
Run Code Online (Sandbox Code Playgroud)

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