Bonjour à tous,

Je suis entrain d'essayer de faire une classe javascript qui va en quelque sorte me permettre de redéfinir le principe des accesskey. Ce n'est pas pour un site web mais plutot pour une application interne, donc pas de problème. Je désire le redéfinir car le comportement des accesskey n'est pas le même suivant tous les navigateurs. Moi je voudrais que lorsque quelqu'un appuie sur une touche "raccourcis", que le raccourci en question se déclenche directement. Bref.

Pour cela, je pensais définir une balise type, par exemple du nom de raccourci. Au début du script, j'initialise un tableau, que je remplie avec toutes les occurences trouvés correspondant à la balise raccourci avec getAttribute:

Par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<a href="lien.html" raccourci="L">Lien</a>
Que j'obtiens avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
var r1 = document.getElementsByTagName('a')[0].getAttribute('raccourci');
J'enregistre tout ça dans mon tableau.
Ensuite, j'ai une fonction qui se charge de repérer les touches entrées par l'utilisateur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
onKeyDown = function(touche) {}
Mon problème est le suivant. Pour savoir si un raccourci existe ou non sur la touche appuyée, je voulais tester une égalité dans ce genre:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
if(touche.keyCode == monTableauDeRaccourci[0].charCodeAt[0]) {
action 
}
Après quelques recherches, j'ai trouvé que keyCode renvoyé un chiffre Unicode, et charCode aussi, et pourtant, l'égalité n'est jamais vérifié pour un même caractère: les chiffres renvoyés par keyCode et charCodeAt ne sont pas les mêmes. Pourtant, les deux devraient être de l'unicode non ?

Par exemple, pour la lettre g, l'un me renvoit une valeur dans les 70, l'autre dans les 100. Quelqu'un aurait une idée d'où ça pourrait venir ?

Merci à vous =)