JavaScript:实现顺序键盘热键?

Posted

技术标签:

【中文标题】JavaScript:实现顺序键盘热键?【英文标题】:JavaScript: implement sequential keyboard hotkey? 【发布时间】:2021-05-22 14:13:31 【问题描述】:

例如,当您在 javascript 中依次输入 shift-s 然后 s 时,我想实现类似 do action 的操作。我受到 Autohokey(Windows 的热键配置软件/语言)的启发,因此我正在寻找一个库或方法来在 JS 中实现某些东西。

到目前为止,我找到了一个名为 hotkeys 的库,但我不知道要实现顺序键盘热键,也没有发现任何问题或疑问,所以我在这里。那么,如何使用库或其他库在 JS 中实现它呢?谢谢。

【问题讨论】:

仅供参考 一系列键盘快捷键或热键通常称为和弦。 【参考方案1】:

这可以通过 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:实现顺序键盘热键?的主要内容,如果未能解决你的问题,请参考以下文章