Appeler des URL par action sur les touches fléchées du clavier
Bonjour à tous, au secours !
Nouveau en JavaScript, je tente de réaliser l'appel de liens par les touches fléchées du clavier. J'ai écrit le script suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11
| document.addEventListener('keydown', function(e) {
if (e.keyCode == 39) {
e.preventDefault();
e.stopPropagation();
window.location.href = 'A20.html';
} else if (e.keycode == 37) {
e.preventDefault();
e.stopPropagation();
window.location.href = 'A40.html';
}
}); |
La touche 39 (flèche droite) fonctionne à merveille.
Mais hélas la touche 37 (flèche gauche) ne fonctionne pas. J'ai beau tourner le problème dans tous les sens pendant des heures, je ne trouve pas. Quelqu'un peut-il m'aider en m'indiquant pourquoi le else if ne fonctionne pas dans ce script ?
Grand merci par avance,
Pierre
une autre solution plus élégante
Merci javatwister, ça fonctionne !
J'ai un peu avancé, et remplacé le "if… else if…else" par switch() qui me paraît plus élégant, ça donne ceci, que je vous livre à toutes fins utiles :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| document.addEventListener('keydown', function (e){
var kc = (e.keyCode), prec='A40.html', next='A20.html', main='../photos.html';
switch(kc) {
case 37:
e.preventDefault();
e.stopPropagation();
window.location.href=prec;
break;
case 39:
e.preventDefault();
e.stopPropagation();
window.location.href=next;
break;
case 38:
e.preventDefault();
e.stopPropagation();
window.location.href=main;
break;
}
}); |
ça fonctionne. Merci à tous !
mspav