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 :

blur : comment savoir si on sort du composant ou pas ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Par défaut blur : comment savoir si on sort du composant ou pas ?
    Je réalise un composant de type listbox à 2 niveaux. Il doit pouvoir être pleinement accessible.
    A l'affichage du formulaire, la listbox est fermée. Elle peut être ouverte avec le clavier (focus + entrée). Pour l'accessibilité, je dois donner le focus à chaque élément de liste sur lequel on se positionne avec les touches fléchées.
    Je dois fermer la listbox si l'utilisateur clique en dehors ou porte le focus sur un autre élément du formulaire. J'utilise donc l'évènement "blur" de jQuery. Problème : il survient aussi lorsque je porte par programmation le focus sur un item de liste suite à la navigation clavier. Et quand je traite l'évènement, je n'arrive pas à en connaître la source, donc je ne sais pas si je dois fermer la listbox ou pas.
    Comment faire ?

  2. #2
    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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    un flag
    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 !

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    un flag
    Mais encore ? Tu peux préciser ?

  4. #4
    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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    il te suffit de modifier un flag passé en paramètre (propriété ou attribut) de ton select pour savoir si l'action est lancée par une action ou dynamiquement ...
    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 !

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Par défaut
    Bonne idée. Ce que j'ai fait :
    - Lorsque je déclenche le changement de focus à l'intérieur de mon composant j'ajoute un attribut sur ma liste parente.
    - J'ai attaché l'évènement "blur" non pas au container de mon composant, mais aux items de ma listbox car c'est eux qui vont perdre le focus.
    - Lorsque je traite le "blur" je regarde s'il existe cet attribut. Si ce n'est pas le cas, c'est qu'on a perdu le focus au profit d'un autre élément de formulaire : je ferme la liste. Si c'est le cas, j'efface l'attribut.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/11/2008, 19h21
  2. Réponses: 1
    Dernier message: 03/08/2008, 06h35
  3. comment savoir si un dossier est vide ou pas?
    Par Amissan dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 16/02/2007, 13h31
  4. comment savoir si un contrôle est mulitiline ou pas ?
    Par Ekimasu dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/11/2005, 10h28
  5. comment savoir si une fenetre est agrandi ou pas ?
    Par EssaiEncore dans le forum Langage
    Réponses: 3
    Dernier message: 07/11/2005, 11h42

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