如何在输入中绑定两个键盘键,如 Ctrl +L

How to bind two keyboard keys like Ctrl +L in an input

我有一个文本输入和一个按钮(见下文)。如何使用 JavaScript 在按下某些 "Ctrl + Enter (other shortcut)" 键时触发按钮的点击事件?

<input type="text" id="txtSearch" />
<input type="button" id="btnSearch" value="Search" onclick="doSomething();" />

这些键在事件值中的存储方式不同,因此您可以检查它们是否都像这样被按下

if(event.keyCode == 13 && event.ctrlKey){
   //insert logic
}

其他键也可以通过这种方式访问​​。

在javascript中,你可以像

那样做
<script>
 document.onkeyup = function(e) {
  if (e.which == 77) {
    alert("M key was pressed");
  } else if (e.ctrlKey && e.which == 66) {
    alert("Ctrl + B shortcut combination was pressed");
  } else if (e.ctrlKey && e.altKey && e.which == 89) {
    alert("Ctrl + Alt + Y shortcut combination was pressed");
  } else if (e.ctrlKey && e.altKey && e.shiftKey && e.which == 85) {
    alert("Ctrl + Alt + Shift + U shortcut combination was pressed");
  }
 };
</script>

或者您可以使用库 - https://wangchujiang.com/hotkeys/

您可以尝试 keyCodectrlKey:

    function check(e) {
        tecla = (document.all) ? e.keyCode : e.which;
        if(tecla == 13 && e.ctrlKey)
            alert("hello");;
    }
<input type="search"  onkeydown="return check(event);" id="txtSearch" />
<input type="button" id="btnSearch" value="Search" onclick="doSomething();" />

希望对你有所帮助