1
votes

Comment lier deux touches du clavier comme Ctrl + L dans une entrée

J'ai une entrée de texte et un bouton (voir ci-dessous). Comment puis-je utiliser JavaScript pour déclencher l'événement de clic du bouton lorsque la touche "Ctrl + Entrée (autre raccourci)" est enfoncée?

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


0 commentaires

3 Réponses :


3
votes

Ces touches sont stockées différemment dans les valeurs d'événement afin que vous puissiez vérifier si elles sont toutes les deux enfoncées ainsi

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

D'autres touches sont également accessibles de cette manière.


0 commentaires

1
votes

En javascript, vous pouvez le faire comme

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

Ou vous pouvez utiliser une bibliothèque - https://wangchujiang.com/hotkeys/


0 commentaires

2
votes

Vous pouvez essayer avec keyCode et ctrlKey:

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

J'espère que cela vous aidera.


0 commentaires