OVH Cloud OVH Cloud

Événements et balises imbriquées

4 réponses
Avatar
BMR
Bonjour,

Je suis confronté à un pb. Je fais une sorte de bulle d'aide comparable
à l'attribut "title" mais améliorée. Pour ça, j'ai une balise
<div></div> qui se positionne selon le curseur. Son contenu est modifié
par innerHtml (je sais, c'est pas trop standard, mais c'est pratique) et
il peut y avoir des balises HTML. J'utilise un événement onmouseover sur
le texte qui déclenche la bulle d'aide et un événement onmouseout sur
cette bulle d'aide pour la masquer (ce qui est préférable à un
onmouseout sur le texte, car la bulle d'aide peut éventuellement
contenir un lien). Si c'est pas clair, c'est visible ici :
http://marabbeh.free.fr/tests/test_bulle_aide.html.

Lorsque la bulle ne contient pas de balises, ça fonctionne bien. Par
contre, si elle en contient, lorsque la souris passe sur une de ces
balises, le onmouseout est déclenché sur la bulle d'aide, qui se masque.

J'ai essayé :
- de faire un stopPropagation() (sur Firefox) pour empêcher le
déclenchement de onmouseout sur les balises de la bulle,
- de parcourir les balises et d'annuler les onmouseout
(balise.onmouseout=null)

Mais ça ne résoud rien. Il semblerait que le navigateur estime qu'on
sort de l'objet, si on passe sur une de ses balises imbriquées.

Merci,

BMR

4 réponses

Avatar
Thibault TAILLANDIER
Bonjour,

Je suis confronté à un pb. Je fais une sorte de bulle d'aide comparable
à l'attribut "title" mais améliorée. Pour ça, j'ai une balise
<div></div> qui se positionne selon le curseur. Son contenu est modifié
par innerHtml (je sais, c'est pas trop standard, mais c'est pratique) et
il peut y avoir des balises HTML. J'utilise un événement onmouseover sur
le texte qui déclenche la bulle d'aide et un événement onmouseout sur
cette bulle d'aide pour la masquer (ce qui est préférable à un
onmouseout sur le texte, car la bulle d'aide peut éventuellement
contenir un lien). Si c'est pas clair, c'est visible ici :
http://marabbeh.free.fr/tests/test_bulle_aide.html.

Lorsque la bulle ne contient pas de balises, ça fonctionne bien. Par
contre, si elle en contient, lorsque la souris passe sur une de ces
balises, le onmouseout est déclenché sur la bulle d'aide, qui se masque.

J'ai essayé :
- de faire un stopPropagation() (sur Firefox) pour empêcher le
déclenchement de onmouseout sur les balises de la bulle,
- de parcourir les balises et d'annuler les onmouseout
(balise.onmouseout=null)

Mais ça ne résoud rien. Il semblerait que le navigateur estime qu'on
sort de l'objet, si on passe sur une de ses balises imbriquées.

Merci,

BMR




Bonjour,

Pour être honnête, je ne me suis pas vraiment penché très sérieusement
sur ton problème, mais je dois admettre que c'était bien expliqué, et
que c'est toujours agréable d'avoir un exemple et la page de test :-)

Par contre ca m'a rappellé que j'avais deja vu un tiptooltext de ce
genre, peut etre cela peut t'aider :
http://www.walterzorn.com/tooltip/tooltip_e.htm
Bon courage.

Bye
--
Thibault

Avatar
Olivier Miakinen

[...] je dois admettre que c'était bien expliqué, et
que c'est toujours agréable d'avoir un exemple et la page de test :-)


Tout-à-fait d'accord.

Par contre ca m'a rappellé que j'avais deja vu un tiptooltext de ce
genre, peut etre cela peut t'aider :
http://www.walterzorn.com/tooltip/tooltip_e.htm


En effet. Il semble même proposer deux sortes de tooltips : les deux
premiers exemples ont un tooltip qui suit la souris (et où on ne
pourrait donc pas cliquer s'il y avait un lien) tandis que le
troisième contient un lien effectivement cliquable.

Avatar
Olivier Miakinen

[...] le troisième contient un lien effectivement cliquable.


Tout est expliqué plus bas :
this.T_STICKY = true; this.T_FIX = [380, 2400];

Avatar
BMR

Bonjour,

Pour être honnête, je ne me suis pas vraiment penché très sérieusement
sur ton problème, mais je dois admettre que c'était bien expliqué, et
que c'est toujours agréable d'avoir un exemple et la page de test :-)

Par contre ca m'a rappellé que j'avais deja vu un tiptooltext de ce
genre, peut etre cela peut t'aider :
http://www.walterzorn.com/tooltip/tooltip_e.htm
Bon courage.

Bye


Ben oui, ça m'aide. Car j'ai vu que ce Walter Zorn (auteur de Tooltip)
utilise une astuce :
- si le tooltip ne contient pas de lien, la fermeture du tooltip est
déclenchée par un onmouseout sur le texte,
- sinon, la fermeture du tooltip est déclenchée par un 2e onmouseover
sur le texte.

Je vais faire la même chose...

Merci,

BMR