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.