前言

实现通过键盘快捷键触发动作。
例如通过快捷键 ctrl + enter 执行一个函数。

实现

全局的

使用 document 的 onkeydown 事件实现,当用户正在按下键时,发生此事件。

  1. function hotkey(){
  2. let keyCode = window.event.keyCode;
  3. if (event.ctrlKey && keyCode === 13) {
  4. console.log("用户按下了 ctrl + " + keyCode);
  5. }
  6. }
  7. document.onkeydown = hotkey;

针对单个输入框的

如果想让快捷键只对某个输入框生效,可以这样:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <input type="text" onkeydown="hotkey()">
  5. <script>
  6. function hotkey() {
  7. let keyCode = event.keyCode;
  8. if (event.ctrlKey && keyCode === 13) {
  9. console.log("用户按下了 ctrl + " + keyCode);
  10. }
  11. }
  12. </script>
  13. </body>
  14. </html>