如何解决模拟按键事件
所以,这是一个非常简单的问题,但我找不到很好的答案。我只想在网页上按间隔自动执行按键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 举报,一经查实,本站将立刻删除。