微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

模拟按键事件

如何解决模拟按键事件

所以,这是一个非常简单的问题,但我找不到很好的答案。我只想在网页上按间隔自动执行按键1的按键事件。

模拟按键事件的最简单方法是什么?

是否有诸如document.keypress()之类的东西?

解决方法

您可以执行以下操作-

sh /Users/bakthak/check.sh

在上面的演示代码中,我刚刚在整个窗口上设置了// Setup the eventListener to log whenever a key press occurs window.addEventListener('keydown',function(event) { console.log('key pressed - ',event.key); }); // create a keyboard press event var event = new KeyboardEvent('keydown',{ 'key': '1' }); // call / simulate the event every 1000s using dispathEvent method setInterval(() => window.dispatchEvent(event),1000);,只要按下一个键,它就可以控制台日志-eventListener

下面只是使用key pressed创建一个事件,然后调用它,或者您可以说在new KeyboardEvent函数中使用dispatchEvent每1秒模拟一次键盘按下事件

,

您是否正在寻找类似的东西?您也可以以此捕获实际的键盘输入。

我建议您改用按键事件。

document.addEventListener('keyup',e => {
  // User is in a textbox don't continue
  if(['textarea','input'].includes(document.activeElement.tagName.toLowerCase())) {
    console.log('in textarea')
    return;
  }

  // The user is not in a textbox resume navigation.
  if (e.key === 'd') {
    console.log('next profile')
  } else if (e.key === 'a') {
    console.log('previous profile')
  } else {
    console.log('invalid key')
  }
})

setInterval(() => {
  let evt = new KeyboardEvent('keyup',{key: 'd'})
  document.dispatchEvent(evt)
},2000)
<input type="text">

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。