Comment changer les champs de saisie avec les touches du clavier en javascript?
Sauver la douleur
Comment puis-je passer d'un champ de saisie à un autre champ de saisie avec les touches fléchées du clavier?
Voici ma tentative:
document.onkeydown = (function(e1){
if (e1.which == 39) {
F2();
}
});
document.onkeydown = (function(e2){
if (e2.which == 37) {
F1();
}
});
function F1() {
document.getElementById("right").focus();
document.getElementById("left").blur();
}
function F2() {
document.getElementById("right").blur();
document.getElementById("left").focus();
}
<input type="text" id="right">
<input type="text" id="left">
NickSlash
votre exemple définit le premier gestionnaire d'événements, puis le remplace par le suivant.
pour le faire (en utilisant la méthode que vous utilisez), vous devez ajouter les deux événements à un seul gestionnaire.
document.onkeydown = (function(e){
if (e.which == 39) {
F2();
}
if (e.which == 37) {
F1();
}
});
function F1() {
document.getElementById("right").focus();
document.getElementById("left").blur();
}
function F2() {
document.getElementById("right").blur();
document.getElementById("left").focus();
}
une meilleure façon serait d'utiliser quelque chose comme:
document.addEventListener("keydown", function (e) { event code });
afin de ne pas écraser les gestionnaires d'événements existants