Probleme de code clavier virtuel sur FF et Safari

Signaler
Messages postés
3
Date d'inscription
mardi 9 mars 2010
Statut
Membre
Dernière intervention
12 mars 2010
-
Messages postés
3
Date d'inscription
mardi 9 mars 2010
Statut
Membre
Dernière intervention
12 mars 2010
-
Bonjour à tous,

un clavier virtuel russe a été créé pour la fac de russe de l'université. Malheureusement ce code ne marche pas sous FF et Safari alors que tout fonctionne parfaitement sous IE. (Ce qui pose problème à beaucoup d'étudiants...)

Le but est de taper directement sur les touches de son clavier et de voir directement apparaître la lettre cyrillique dans la fenêtre du clavier virtuel.
Quelqu'un saurait-il déceler pourquoi cela ne fonctionne pas sous FF et Safari? Je soupçonne le "window.event.keycode" mais je n'arrive pas à le rendre compatible pour FF et Safari.

Voici la page web

Je vous met la partie "saisie" du code :

function saisie() {
code=window.event.keyCode;
if ( (code==39) & (Bru==1) )
{Apos=1;window.event.keyCode=8;return;}
if (Apos==1)
{F1.TT.value=F1.TT.value+String.fromCharCode(Trans(code))+String.fromCharCode(769);
Apos=0;window.event.keyCode=8;
return;}
if (code==38)
{if (Bru==1) Bru=0; else Bru=1;
window.event.keyCode=8;return;}
if (Bru==1) {window.event.keyCode=Trans(code);return;}

window.event.keyCode=code;
}

function Accentuer() {
Apos=String.fromCharCode(39);
do
{k=F1.TT.value.indexOf(Apos);
if (k> -1)
{CarSuivant=F1.TT.value.charAt(k+1);
F1.TT.value=F1.TT.value.substr(0,k)+CarSuivant+String.fromCharCode(769)+F1.TT.value.substr(k+2);
}
}
while (k> -1);
}

function Accent(car) {
F1.TT.value=F1.TT.value+car+String.fromCharCode(769);
}

Si quelqu'un pouvait m'aider ce serait vraiment génial.
merci beaucoup!

4 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
Bonjour,
je soupçonne le "window.event.keycode"
bien vu, window.event est EXCLUSIF IExplorer
IE et FF ont une façon différente de gérer les événements, un global pour IE et un pour chaque élément pour FF, en gros.
Il te faut dans ton cas affecter un fonction à un événement sur la TEXTAREA, et faire la gestion en fonction.

PS : Oublies pour FF, la réaffectation d'un event.keyCode comme tu le fais ci dessus.
;O)
Messages postés
3
Date d'inscription
mardi 9 mars 2010
Statut
Membre
Dernière intervention
12 mars 2010

Bonjour,

Oublies pour FF, la réaffectation d'un event.keyCode comme tu le fais ci dessus.


Le problème, c'est qu'à part window.event je ne vois vraiment pas comment intégrer ce genre de fonction à FF.

A vrai dire, le problème n'est pas FF en lui-même... Les étudiants qui utilisent un PC, surtout ceux accros à FF peuvent bien de temps en temps ouvrir IE.
Le soucis est plus pour les étudiants qui ont un Mac.

Aurais-tu une idée d'adaptation de ce code pour qu'il soit compatible Safari? Parce qu'à part window.event, je bloque...

Merci beaucoup.


L'avantage d'être intelligent, c'est qu'on peut toujours faire l'imbécile,
alors que l'inverse est totalement impossible. (Woody Allen)
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
je te soumets deux liens, en anglais mais bon...
un sur event.keyCode
et l'autre sur event.which
cela devrait te permettre d'y voir plus clair
;O)
Messages postés
3
Date d'inscription
mardi 9 mars 2010
Statut
Membre
Dernière intervention
12 mars 2010

Merci beaucoup!
je vais regarder ça.


L'avantage d'être intelligent, c'est qu'on peut toujours faire l'imbécile,
alors que l'inverse est totalement impossible. (Woody Allen)