所以,这是一个非常简单的问题,但我找不到很好的答案。我只想在网页上按间隔自动执行按键1的按键事件。
模拟按键事件的最简单方法是什么?
是否有诸如document.keypress()之类的东西?
答案 0 :(得分:0)
您可以执行以下操作-
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秒模拟一次键盘按下事件
答案 1 :(得分:0)
您是否正在寻找类似的东西?您也可以以此捕获实际的键盘输入。
我建议您改用按键事件。
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">