以不弃用的方式模拟键盘按键?

Jak*_*r00 6 javascript deprecated

我正在寻找一种模拟键盘按键的方法(如标题建议).我环顾四周,主要找到了这两个问题:

这些问题是他们都使用KeyboardEvent.initKeyboardEvent()根据MDN不推荐使用的事件.没有弃用功能,有没有不同的方法来完成同样的事情?

我想知道这一点,因为我正在使用Chrome的TamperMonkey扩展程序为YouTube创建脚本.[space]按下时,此脚本将触发K. K是YouTube的切换播放/暂停按钮.我让[space]听众与下面的代码完美配合:

document.addEventListener("keydown", function(e) {
    if(e.keyCode==32) {
        e.preventDefault();
    }
}, false);
Run Code Online (Sandbox Code Playgroud)

另外,我真的在寻找一种纯粹的JavaScript方法.

Neo*_*ptt 2

如果您使用 jQuery 执行此操作,您就可以构建您的事件。

/sf/answers/235801961/

如果要创建事件,请初始化对象然后分派事件。

https://developer.mozilla.org/en-US/docs/Web/API/Event/Event

document.addEventListener("keypress", function(e) {
  alert(e.which);
});
var e = new Event("keypress");
e.which = 65;
e.keyCode = 65;
document.dispatchEvent(e);
Run Code Online (Sandbox Code Playgroud)
<p id="r">Alerts on event</p>
Run Code Online (Sandbox Code Playgroud)

  • 查看编辑历史记录。当答案与问题完全无关时可能会被否决 (2认同)