JeuWeb - Crée ton jeu par navigateur
[Javascript] problème de mouse hover - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Javascript] problème de mouse hover (/showthread.php?tid=5619)

Pages : 1 2


[Javascript] problème de mouse hover - Argorate - 02-08-2011

Bonjour,

j'ai un petit problème, j'ai un event hover sur un div qui fait disparaitre celui ci sur le "mouseout".
Le problème étant que j'ai des formulaire avec menu déroulant dans ce div, et si j'ouvre et menu et que je glisse ma souris dessus, il considère que je sort du div et donc me ferme celui-ci...(même chose avec les petits menu de saisie automatique)
C'est assez frustrant ^^

Comment dire : "quand tu sort du <div> ET que tu n'est pas sur un élément fils, alors tu cache le div".

Je ne sais pas si j'ai été très claire, merci pour toute l'aide que vous m'apporterais.


RE: [JS] probleme de mouse hover - Viciousity - 02-08-2011

Exemple de code ?
Parce que la je comprend pas :S


RE: [JS] probleme de mouse hover - php_addict - 02-08-2011

jquery: children ou parents ?


RE: [JS] probleme de mouse hover - Viciousity - 02-08-2011

Normalement si tu sélectionne un div, tu sélectionnes tout sont contenu (a part si son positionnement est en absolu).
D'ou je comprend pas trop dou le probleme vient :S


RE: [JS] probleme de mouse hover - Slavick - 02-08-2011

Si tu utilises jQuery, je te conseille de regarder vers la fonction .mouseenter().
Comme décrit dans les explications de cette fonction, l'évènement mouseover est lancé à chaque fois que la souris passe sur un nouvel élément (qu'il soit fils ou non). Donc si tu n'utilises pas jQuery, à toi de faire cette simulation de mouseenter...


RE: [JS] probleme de mouse hover - Argorate - 03-08-2011

Hello,

j'utilise http://api.jquery.com/hover/ donc cela reviens à faire un mouseenter()...

$('#un_div').hover(
function()
{
$(this).show();
},
function()
{
$(this).hide();
});

Donc, je reprends, si j'ouvre un menu déroulant qui se trouve dans ce div et que je place ma souris dans le menu déroulant, le $(this).hide(); se déclenche, car pour lui, je suis sorti du div...


RE: [JS] probleme de mouse hover - niahoo - 03-08-2011

oui car tu utilises hover et pas mouseenter, comme déjà dit.

Si hover revient à faire un mouseenter alors pourquoi avoir créé la fonction mouseenter ?


RE: [JS] probleme de mouse hover - Viciousity - 03-08-2011

Donne le code de ton menu déroulant Smile


RE: [JS] probleme de mouse hover - Argorate - 03-08-2011

niahoo: sur le lien que j'ai mis il le dise^^

"See the discussions for .mouseenter() and .mouseleave() for more details." cela permet de définir les deux comportements (quand tu met la souris et quand tu la sors)
C'est juste une sorte d'alias.

Et sinon mon menu déroulant c'est un <select> banale et ce n'est pas vraiment le problème. J'ai juste prit ça pour l'exemple, avec les petit menu de saisie automatique dans un input[text] ça fait pareil (ça enclenche le .mouseleave() quand je met ma souris dessus)


RE: [JS] probleme de mouse hover - Viciousity - 03-08-2011

Sans code je saurais pas t'aider parce que en local j'ai aucun probleme pour le gérer ...