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 :

Racourcis clavier encore


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Par défaut Racourcis clavier encore
    Bonjour,
    Nous avons dû abandonner l'idée d'utiliser les touches de fonction F1... puisque Firfox comme IE se les sont appropriées
    Nous essayons donc d'utiliser une combinaison de touche de type "Alt a" mais là, à nouveau, Firfox pense être propriétaire des claviers des gens
    Est-il possible de bloquer leur gestion évènement clavier pour attribuer celles demandées par notre client bon propriétaire de son clavier ?
    Ou devons nous lui expliquer qu'il est impossible de faire des racourcis claviers pour ses fonctions bien contant qu'on lui laisse utiliser le clavier et la souri qu'il a payé...
    Merci de votre comppréhension
    JL

  2. #2
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Salut,

    il y a deux choses :
    1. il faut réagir sur le keydown, car keypress et keyup se déclenchent trop tard
    2. il faut annuler le comportement par défaut associé à l'évènement.


    Perso c'est IE qui me pose problème. Sous Firefox, avec les méthodes de l'objet standard Event spécifié par le W3C, il est parfaitement possible de prévenir le comportement par défaut du navigateur

    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    document.addEventListener('keydown', function( event ) {
        if (event.altKey) {
            event.preventDefault();
        };
    }, false);

    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Par défaut
    Merci
    Le problème suivant se pose alors (voici le code) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function lesKeys(el){
    var e = el || window.event;
    var code = e.charCode || e.keyCode;
    if(e.altKey){
    	e.preventDefault();
    	alert('oui code : '+code);
    }
    document.onkeydown = lesKeys;
    L'alerte donne systématiquement : code 18 lorsque j'enfonce "Alt" puis le code ascii de la touche enfoncée.
    Comment vais-je filtrer le bon code (pas le 18 donc) pour appeler les fonctions désirées ?
    Merci

  4. #4
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Yep, le listener réagit à la touche Alt elle-même. Ce qui peut paraître bizarre, enfin je suppose qu'il y a une logique quelque part…

    En fait je suppose que tu cherches à faire des raccourcis avec des lettres (puisque pour le reste, les navigateurs ne sont pas conciliants), du coup une solution consisterait à ne prendre que les events qui ont un charCode.

    Et là je me rends compte que pour avoir un charCode sous FF… Il faut surveiller keypress. Il n'y a pas de charCode avec keydown >_<
    J'ai dit une connerie tout à l'heure en affirmant que keypress se déclenche trop tard. Le seul problème qui peut se poser avec cet event, c'est si l'utilisateur laisse la touche enfoncée… Il faudra peut-être s'assurer que la fonction ne s'exécute qu'une fois.

    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    document.addEventListener('keypress', function( e ) {
        if(e.charCode && e.altKey) {
            alert(e.charCode);
            e.preventDefault();
        };
    }, false);

    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

Discussions similaires

  1. [VBA - Excel] mettre un racourci clavier
    Par ash_rmy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/10/2006, 13h41
  2. [VB6]racourci clavier
    Par kboo dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 27/04/2006, 12h23
  3. HELP pour les Racourci clavier en c++
    Par jamesleouf dans le forum C++
    Réponses: 6
    Dernier message: 20/03/2006, 11h32
  4. Racourci clavier (selectionner tout)
    Par jj del amorozo dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 02/03/2006, 15h15
  5. racourci clavier
    Par awax dans le forum Langage
    Réponses: 6
    Dernier message: 25/01/2006, 15h42

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