JavaScript: 实现顺序键盘热键?
JavaScript: implement sequential keyboard hotkey?
例如,当您在 JavaScript 中依次输入 shift-s
然后 s
时,我想执行类似 do action 之类的操作。我受到 Autohokey 的启发,热键配置 software/language for Windows,所以我正在寻找一个库或方法来在 JS 中实现某些东西。
到目前为止,我找到了一个名为 hotkeys 的库,但我不知道如何实现顺序键盘热键,也没有发现任何问题或疑问,所以我来了。那么,如何使用库或其他库在 JS 中实现它呢?谢谢
这可以通过 keydown 事件侦听器轻松完成,不需要库
sAgain = false
document.addEventListener('keydown', function(event) {
if (sAgain && event.key.toLowerCase() == 's')
alert("shift-s then s clicked")
else if (event.shiftKey && event.key.toLowerCase() == 's')
sAgain = true
else
sAgain = false //stop listen if other key is clicked after shift-s
});
<h1>Press shift s then s<h1>
例如,当您在 JavaScript 中依次输入 shift-s
然后 s
时,我想执行类似 do action 之类的操作。我受到 Autohokey 的启发,热键配置 software/language for Windows,所以我正在寻找一个库或方法来在 JS 中实现某些东西。
到目前为止,我找到了一个名为 hotkeys 的库,但我不知道如何实现顺序键盘热键,也没有发现任何问题或疑问,所以我来了。那么,如何使用库或其他库在 JS 中实现它呢?谢谢
这可以通过 keydown 事件侦听器轻松完成,不需要库
sAgain = false
document.addEventListener('keydown', function(event) {
if (sAgain && event.key.toLowerCase() == 's')
alert("shift-s then s clicked")
else if (event.shiftKey && event.key.toLowerCase() == 's')
sAgain = true
else
sAgain = false //stop listen if other key is clicked after shift-s
});
<h1>Press shift s then s<h1>