[javascript] bloquer touches clavier

Fermé
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 3 juin 2008 à 11:01
 balou - 10 oct. 2008 à 16:58
Bonjour,

J'ai actuellement un souci sur un site, j'aimerai bloquer la navigation de page en page (précédente, suivantes) via le clavier, c'est à dire inhiber les raccourci clavier Alt+flèche droite et Alt+flèche gauche.

Pour ce faire, en javascript donc, j'ai mis en place une petite fonction nommé 'inibitKey' appelé sur l'évênement onkeypress du BODY de ma page, dans laquelle je test mes différentes touches, donc les deux énoncées ci-dessous.
Voici un petit aperçu du code vraiment basique :
(ps: 'intKeyCode' est un paramètre passé à la fonction, relié à la touche clavier, cf window.event.keyCode)

if (window.event.altKey || window.event.ctrlKey) {
   ...

   if ( intKeyCode == KEY_RIGHT || intKeyCode == KEY_LEFT ){
	window.event.keyCode = intKeyCode = REMAP_KEY_T;
	window.event.returnValue = false;
	return false;
   }
   
   ...
}


Voilà, en bref je remap la valeur de la touche entrée sur une autre valeur de sorte à ne pas effectuer le raccourci clavier Alt+fleche droite/gauche, mais Alt+T. Je stipule bien que la valeur de retour est false, etc.

Pour tout autre raccourci "banal" ça fonctionne, par contre pas pour Alt+flèche droite/gauche.
J'imagine donc qu'il s'agit d'un raccourci clavier dont on ne peut pas catché et contrôler l'émission, mais dans ce cas là, est-ce que quelqun aurait une idée pour contourner le problème et faire en sorte d'inhiber cette navigation entre page suivante et page précédente ?

Merci pour votre aide.
A voir également:

1 réponse

Salut,
ce que tu peux faire c'est de recharger à chaque fois la dernière paage de l'historique...
ça marche très bien
<body onunload="window.history.forward();">
<script type="text/javascript">
// <![CDATA[
window.history.forward();
// ]]>
</script>
et ta page....
bon courage
0