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 :

onmouseover + raccourci clavier


Sujet :

JavaScript

  1. #21
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    YES!!!

    Cette fois c'est bon!

    Un grand grand merci Fremy, tu m'enlèves une sacré épine du pied!!!

    Je l'adapte maintenant à mon code et je reviens mettre résolu quand j'ai fini.

  2. #22
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    Ok, ça marche bien maintenant que je l'ai correctement adapté à mon code...

    Un dernier point: dans certaines pages, j'ai des formulaires et du coup quand je veux saisir les champs de mon formulaire, il se comporte comme s'il s'agissait d'un raccourci clavier et essaie de me rediriger sur une page (inexistante).

    Je ne peux donc plus remplir mes formulaires...

    Aussi, comme j'ai un grand menu mes raccourcis clavier vont de 0 à 20, or, je n'ai pas le temps de taper le deuxième chiffre que le premier est déjà interprété et que je suis redirigée...

    Comment résoudre ce problème?

  3. #23
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    1/ Demander que ALT soit enfoncée pour démerer la redirection...
    Comme ca quand on taprera 1 dans une boite de texte, si ALT n'est pas enfoncée, il n'y aura pas de problème.

    2/ Si tu as des menus de supérieure à 9, utilise les lettes
    ('a','b','c','d','e', ...) : ca augmentera ton maximum à 35 (36 + 9)

    Je vais améliorer le code et je reposte quand j'ai fini....

  4. #24
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    Oui, ce serait parfait avec la touche ALT!

    Et pour les lettres, en effet, ça me semble un bon compromis.

    Merci Fremy

  5. #25
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Seul changement : Les racourci se font avec 2 caractères obligatoirement.

    J'ai essayé avec ALT mais il y avait des incompatibiliés navigateurs et certaines combinaisons étaients réservées (Alt + a : menu afficher)

    CCL : Si tu tapes 01 dans tes forms ca va déclancher le changement de page tout de même...

    Mais je planche sur une solution...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    <html>
    <body>
    <script>
     
    document.onkeypress_error=false
    document.onkeypress=function(e) {
       var Code=false
       if (e) {
          if (e.keyCode) {
             Code=e.keyCode
          }
          else if (e.which) {
             Code=e.which
          }
       }
       if (window.event && (!Code)) {
    	   if (window.event.keyCode) {
    	      Code=window.event.keyCode
    	   }
    	   else if (window.event.which) {
    	      Code=window.event.which
    	   }
       }
       if (Code) {
          window.KeyEvent(Code) // Lance la gestion de l'evenement
       }
       else {
          // Impossible de lire le caractère...
    	  if (!document.onkeypress_error) {
    		alert("Votre navigateur n'est pas compatible.");
    		document.onkeypress_error=true;
    	  }
       }
       return true;
    }
     
    window.KeyEvent_Str=".."
    window.KeyEvent=function(Code, Alt) {
       var Char = String.fromCharCode(Code)
       var OldChar = window.KeyEvent_Str.charAt(1)
       window.KeyEvent_Str = OldChar + Char
       if (Links[window.KeyEvent_Str]) {
          window.location.href=(Links[window.KeyEvent_Str]) 
       }
    }
     
    var Links=new Array(); // Obligatoire !!!
    // Liste des raccourcis : A génerer par PHP
    Links['01']='http://www.google.fr'
    Links['02']='http://www.yahoo.fr'
    // [...]
     
    </script>
    </body>
    <html>

  6. #26
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Solution trouvée : Si le onkeypress provient d'un input, sa gestion est annulée...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    <html>
    <body>
    <input type='texte' />
    <script>
    document.onkeypress_error=false
    document.onkeypress=function(e) {
       var Code=false
       var Src=new Object()
       if (e) {
          if (e.keyCode) {
             Code=e.keyCode
    		 Src=(e.srcElement)
          }
          else if (e.which) {
             Code=e.which
    		 Src=(e.target)
          }
       }
       if (window.event && (!Code)) {
    	   if (window.event.keyCode) {
    	      Code=window.event.keyCode
    		  Src=(window.event.srcElement)
    	   }
    	   else if (window.event.which) {
    	      Code=window.event.which
    		  Src=(window.event.target)
    	   }
       }
       if (Code) {
          window.KeyEvent(Code, Src) // Lance la gestion de l'evenement
       }
       else {
          // Impossible de lire le caractère...
    	  if (!document.onkeypress_error) {
    		alert("Votre navigateur n'est pas totalement compatible avec ce site... Veuillez le mettre à jour.");
    		document.onkeypress_error=true;
    		return false;
    	  }
       }
       return true;
    }
     
    window.KeyEvent_Str=".."
    window.KeyEvent=function(Code, Src) {
       if (Src.tagName.toUpperCase()=="INPUT") {
          return false;
       }
       var Char = String.fromCharCode(Code)
       var OldChar = window.KeyEvent_Str.charAt(1)
       window.KeyEvent_Str = OldChar + Char
       if (Links[window.KeyEvent_Str]) {
          window.location.href=(Links[window.KeyEvent_Str]) 
       }
       return true;
    }
     
    var Links=new Array(); // Obligatoire !!!
    // Liste des raccourcis : A génerer par PHP
    Links['01']='http://www.google.fr'
    Links['02']='http://www.yahoo.fr'
    // [...]
     
    // PS :
    // ...........................
    // <a href="http://Links[&#39;YA&#39;]=&#39;http://www.yahoo.fr&#39;" target="_blank">Links['YA']='http://www.yahoo.fr'</a>
    // Cela aussi est valable.
    </script>
    </body>
    <html>

  7. #27
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    Super Fremy, ça fonctionne impeccablement bien!

    Pile poil ce qu'il me fallait, encore une fois un grand MERCI!

    Et si tu as un jour besoin d'un coup de main en php, n'hésite pas!

  8. #28
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    Me revoilà...

    Alors, maintenant j'aimerai si possible annuler la gestion du onkeypress uniquement pour les input de type texte...

  9. #29
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var TabInputs=documents.getElementsByTagName('input')
    var TabText= new Array()
     
    for (i=0;i<TabInputs.length;i++){
                 if (TabInputs[i].type.toUppercase()=='TEXT'){TabText.push(TabInputs[i])}
    }
     
    for (i=0;i<TabText.length;i++){TabText[i].onmouseover=function(){};}
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #30
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Lol, merci SpaceFrog, mais je lui ai déjà adapté ma fonction par MP
    (J'en ai d'ailleurs profité pour ajouter la gestion des TextArea que j'avais ajouté pour moi mais que j'avais omis de lui communiquer)

    Pour le code final :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <html>
    <body>
    <input type='texte' />
    <textarea></textarea>
    <script>
    document.onkeypress_error=false
    document.onkeypress=function(e) {
       var Code=false
       var Src=new Object()
       if (e) {
          if (e.keyCode) {
             Code=e.keyCode
    		 Src=(e.srcElement)
          }
          else if (e.which) {
             Code=e.which
    		 Src=(e.target)
          }
       }
       if (window.event && (!Code)) {
    	   if (window.event.keyCode) {
    	      Code=window.event.keyCode
    		  Src=(window.event.srcElement)
    	   }
    	   else if (window.event.which) {
    	      Code=window.event.which
    		  Src=(window.event.target)
    	   }
       }
       if (Code) {
          window.KeyEvent(Code, Src) // Lance la gestion de l'evenement
       }
       else {
          // Impossible de lire le caractère...
    	  if (!document.onkeypress_error) {
    		alert("Votre navigateur n'est pas totalement compatible avec ce site... Veuillez le mettre à jour.");
    		document.onkeypress_error=true;
    		return false;
    	  }
       }
       return true;
    }
     
    window.KeyEvent_Str=".."
    window.KeyEvent=function(Code, Src) {
       if (Src.tagName.toUpperCase()=="TEXTAREA" || (
              Src.tagName.toUpperCase()=="INPUT" && (
    	      Scr.getAttribute().toUpperCase() == null || 
              Scr.getAttribute().toUpperCase() == "" || 
              Scr.getAttribute().toUpperCase() == "TEXT"
             )
          )
       ) {
          return false;
       }
       var Char = String.fromCharCode(Code)
       var OldChar = window.KeyEvent_Str.charAt(1)
       window.KeyEvent_Str = OldChar + Char
       if (Links[window.KeyEvent_Str]) {
          window.location.href=(Links[window.KeyEvent_Str]) 
       }
       return true;
    }
     
    var Links=new Array(); // Obligatoire !!!
    // Liste des raccourcis : A génerer par PHP
    Links['01']='http://www.google.fr'
    Links['02']='http://www.yahoo.fr'
    // [...]
     
    </script>
    </body>
    <html>

  11. #31
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    C'est parfait! Un grand merci!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [JTable] Raccourci clavier sur une Table
    Par sylvain_2020 dans le forum Composants
    Réponses: 5
    Dernier message: 05/07/2007, 09h01
  2. désactivation des raccourci clavier
    Par Arnaud-h dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/06/2004, 09h28
  3. [Debutant(e)] Liste raccourcis clavier
    Par lfournial dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/05/2004, 14h51
  4. [BPW]Raccourcis clavier dans une fenêtre enfant
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 18/02/2004, 20h07
  5. [] Raccourci clavier pour bouton d'une barre d'outil
    Par Sébastien dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 24/03/2003, 17h02

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