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();" />
3 Réponses :
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.
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/
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.