模拟按下空格键

7

我已经到处搜索,在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

有人能帮我修复它吗?


1
@Satpal 那个答案中使用的API现在已经过时了。我尝试使用那个答案,但是失败了。 - Oliver
2个回答

8

警告其他人:这不兼容IE。关于如何解决此问题,可以在此处找到更多讨论:https://dev59.com/hF8d5IYBdhLWcg3woDcZ - Alexandra

5

更好的JSfiddle,我们可以在那里看到一些东西。 - JonathanG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接