Как связать две клавиши клавиатуры, такие как Ctrl + L во входе - PullRequest
1 голос
/ 05 июля 2019

У меня есть один ввод текста и одна кнопка (см. Ниже). Как я могу использовать JavaScript, чтобы вызвать событие нажатия кнопки, когда нажата какая-то клавиша «Ctrl + Enter (другой ярлык)»?

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

Ответы [ 3 ]

3 голосов
/ 05 июля 2019

Эти клавиши хранятся по-разному в значениях событий, поэтому вы можете проверить, нажаты ли они оба следующим образом:

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

Доступ к другим клавишам также возможен таким же образом.

2 голосов
/ 05 июля 2019

Вы можете попробовать с keyCode и ctrlKey:

    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();" />

Надеюсь, это поможет вам.

1 голос
/ 05 июля 2019

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

...