【问题标题】:How to bind two keyboard keys like Ctrl +L in an input如何在输入中绑定两个键盘键,如 Ctrl + L
【发布时间】:2019-11-15 15:49:07
【问题描述】:

我有一个文本输入和一个按钮(见下文)。当按下某个“Ctrl + Enter(其他快捷键)”键时,如何使用 JavaScript 触发按钮的单击事件?

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

【问题讨论】:

    标签: javascript html button input textinput


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      你可以试试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();" />

      希望对你有帮助。

      【讨论】:

        【解决方案3】:

        在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/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多