添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

在最近的一个项目中有个场景需要使用到前端模拟键盘事件,但是在傻喵(作者本人)在网上找目前的答案后,大多都是几年前的回答,使用 document.createEvent('KeyEvents') ,然后重新初始化 initKeyEvent 方法,可以参考 掘友的回答 , 傻喵在尝试之后发现编辑器提示该方法已经 废弃 (效果是可以实现的)。翻阅MDN官网并多次尝试后,终于找到了替换。

// 键盘触发方法
    keyEvent(key) {
      // key 是键盘对应键的code值
      var a = new KeyboardEvent("keydown", { detail: 1, view: window });
      Object.defineProperty(a, "keyCode", { value: key });
      document.dispatchEvent(a);

调用方式传入键盘对应的code值,就可以。
傻喵的使用场景为直接触发,掘友有其他的使用触发场景可以参考回答,封装一下。
当然也可以以此例类推,InputEventMouseEvent等其他的时间触发。