IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

jQuery gérer un keydown en AZERTY comme QWERTY


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 22
    Par défaut jQuery gérer un keydown en AZERTY comme QWERTY
    Bonjour,

    Je suis en train d'améliorer un JavaScript avec une partie en jQuery qui formate un texte contenu dans un <input type="text"> au fur et à mesure de la saisi. Plus concrètement et sans alourdir mon propos avec des détails qui me semblent inutiles, il s'agit d'écrire un nombre dans cet input. Le JavaScript corrige par exemple les points en les remplaçant par des virgules.

    Jusqu'à présent mon script agissait surtout sur l'évènement keyup en corrigeant la saisie qui ne respecte pas le formatage désiré. Mais je trouve que cette approche a 2 défauts :
    - on voit le caractère non désiré avant qu'il soit corrigé. Je trouve que ça fait moins pro que s'il était remplacé avant de s'afficher
    - mon code serait moins long si je pouvais effectuer la plupart des informations sur l'évènement keydown en me concentrant seulement sur la
    dernière touche enfoncée au lieu de traiter l'ensemble du texte avec le keyup

    Je souhaiterai donc modifier mon script pour qu'il agisse principalement sur l'évènement keydown. Pour ça, il faut que je trouve une solution à un nouveau problème pour moi : l'event que je récupère au moment du keydown me permet d'avoir le keyCode de la touche appuyée, mais pas son charCode. Du coup mon script remplace un point par une virgule en AZERTY, alors qu'il remplace un < par une virgule en QWERTY.

    Y a-t-il en moyen de connaitre le charCode sur un keydown ? Ou y a-t-il un moyen de connaitre le type de clavier (AZERTY, QWERTY, etc) au chargement de la page ou avant un keydown ?

    En vous remerciant pour votre aide.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 22
    Par défaut
    Bien vu ! J'étais sur une piste comme ça. Ton lien aura permit de simplifier mon code : http://jsfiddle.net/aahzb/1/
    Je laisse tomber keydown pour keypress

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Input dans les jeux : AZERTY et QWERTY
    Par screetch dans le forum Développement 2D, 3D et Jeux
    Réponses: 5
    Dernier message: 18/07/2008, 19h16
  2. [jQuery] Gérer la réponse AJAX
    Par Tchupacabra dans le forum jQuery
    Réponses: 3
    Dernier message: 10/06/2008, 11h48
  3. Réponses: 6
    Dernier message: 22/04/2008, 18h29
  4. clavier azerty en qwerty
    Par rlgrand dans le forum Windows XP
    Réponses: 2
    Dernier message: 24/05/2007, 21h09
  5. mot de passe azerty clavier qwerty
    Par links dans le forum Windows XP
    Réponses: 5
    Dernier message: 06/05/2006, 12h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo