Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/07/2011, 11h50   #1
Membre habitué
 
Inscription : mai 2004
Messages : 383
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 383
Points : 129
Points : 129
Par défaut Firefox input et choix déjà enregistrés

Salut,

J'ai un <input name="login" type="text"...> qui s'affiche dans une div et cette div doit disparaitre avec un onmouseout.

Sauf que si j'ai déjà rentré plusieurs valeurs enregistrées dans le navigateur, ces valeurs apparaissent dans un menu déroulant et si le curseur va dans ce menu déroulant avec firefox on rentre dans le omouseout de la div qui contient cet <input> mais pas avec Chrome et résultat la <div> disparait avec l'input...

Est-il possible de savoir si l'input est en train d'afficher une liste pour dans ce cas ne pas faire disparaitre la div contenant l'input ?

Merci,
Vincent.
defacta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 11h54   #2
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
A vue de nez, ça ressemble à un problème de propagation / bouillonnement...

Tu aurais un petit lien ou un extrait éventuellement ? ^^
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 12h04   #3
Membre habitué
 
Inscription : mai 2004
Messages : 383
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 383
Points : 129
Points : 129
Citation:
Envoyé par RomainVALERI Voir le message
A vue de nez, ça ressemble à un problème de propagation / bouillonnement...

Tu aurais un petit lien ou un extrait éventuellement ? ^^
euuh, le problème c'est que c'est en local !
defacta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 12h10   #4
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
nous manque aussi un ptit détail: le mouseover; il intervient quand?

(sinon j'ai bien tout lu et fait l'effort de comprendre)
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 14h12   #5
Membre habitué
 
Inscription : mai 2004
Messages : 383
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 383
Points : 129
Points : 129
Citation:
Envoyé par javatwister Voir le message
nous manque aussi un ptit détail: le mouseover; il intervient quand?

(sinon j'ai bien tout lu et fait l'effort de comprendre)
Voila:
Il y a un bouton "Connexion", lorsque l'utilisateur fait passer sa souris dessus, un onmouseover fait apparaitre une div qui permet de s'authentifier.

Cette div qui est apparue contient les classiques input de type text "Nom d'utilisateur" et "Mot de passe" avec un bouton "Valider".

Cette div disparait si la souris sort de cette <div d'authentification. (onmouseout)

Voila une image pour essayer d'être plus clair:


Dans cette image, la souris se trouve sur "vincent" et cela active le onmouseout de la div qui entraine sa disparition avec firefox.

Avec Chrome, j'ai pas ce pb...

On peut savoir si le curseur est dans la liste pour créer une exception et ne pas fermer cette div ?

Merci,
Vincent.
defacta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 16h21   #6
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
Suffit peut-être de forcer un blur avant de masquer la div.
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 17h40   #7
Membre habitué
 
Inscription : mai 2004
Messages : 383
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 383
Points : 129
Points : 129
Citation:
Envoyé par Watilin Voir le message
Suffit peut-être de forcer un blur avant de masquer la div.
Un blur, qu'est ce que c'est ? J'ai googleisé mais sans trouver...
defacta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2011, 01h56   #8
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
C'est une fonction pour « annuler » le focus. Si le navigateur est bien conçu, il réagira en masquant sa liste de suggestions. Mais c'est pas évident à tester, le comportement d'un navigateur est beaucoup moins prévisible que le comportement d'un script. Du coup je suis pas sûr de ce que j'affirme.


Sinon y'a un truc non standard mais qui marche bien partout : l'attribut autocomplete. J'ai vu ça sur des ENT et certains sites de banques.
Code :
<input … autocomplete="off" />
C'est pour dire au navigateur de ne pas utiliser de liste de suggestion.
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2011, 09h21   #9
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 774
Points : 4 774
Bonjour,
je ne rencontre le problème que sur IE (v7), lié à la gestion particulière de IE sur les options.

Donc si ton mouseover/out et géré en CSS la tâche me parait bien compromise.

Peut être faut-il revoir l'ergonomie de cette action.

Nota :
- blur est un événement déclenché sur la perte de focus d'un élément.
Code :
1
2
3
oElem.onblur = function(){
    alert( "Bye! Bye!");
  };
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2011, 12h28   #10
Membre expérimenté
 
Duke Jikel
Inscription : mai 2010
Messages : 340
Détails du profil
Informations personnelles :
Nom : Duke Jikel

Informations forums :
Inscription : mai 2010
Messages : 340
Points : 548
Points : 548
Les popups de login qui ne s'affiche que si on fait un mouseover sur un lien est la pire chose qui puisse exister pour un utilisateur.
Surtout que dans ton cas, l'utilisateur doit utiliser sa souris pour sélectionner un choix dans une liste. Et ensuite cliquer sur le bouton.

Et si l'utilisateur va trop vite (imagine un vieux ou un débutant à la souris, ou pire encore un simple utilisateur qui utilise une souris un peu défaillante), et bien l'utilisateur va s'y reprendre à 10 fois.

Si je dis c'est c'est que moi même qui suis un utilisateur de la souris/trackpad,clitoris toshiba (j'appelais ça un clito ), trackball. Et bien j'ai du mal avec ces popins de login qui s'ouvre au rollover et qui se ferment au mouseout.
Je te conseille FORTEMENT d'utiliser le "click" pour afficher cette popup, et pour la fermer, soit un bouton avec un "X" dedans, soit un click en dehors de la fenêtre ou les deux.

Donc avant d'essayer de résoudre ton problème cherche plutôt à améliorer l'expérience utilisateur.
dukej est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/07/2011, 14h11   #11
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
Encore une autre idée : détecter le relatedTarget de l'évènement, et ne masquer la div que si cet élément détecté est le truc de fond (en bleu sur le screenshot).

Et pour IE :
Code JS :
1
2
3
4
5
if (oEvent.type == "mouseout") {
    oEvent.relatedTarget = oEvent.toElement;
} else if (oEvent.type == "mouseover") {
    oEvent.relatedTarget = oEvent.fromElement;
}
http://www.webinmind.net/2006/06/02/...rnet-explorer/

__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h59.


 
 
 
 
Partenaires

Hébergement Web