Gestion des onBlur et onClick - HTML/CSS - Programmation
Marsh Posté le 11-10-2007 à 17:28:23
C'est pas plus simple de faire :
faireTraitement()
Et lui fait un display:none de la div parent ?
Marsh Posté le 11-10-2007 à 17:29:34
Et si je sors de la div sans cliquer... Qui me fera le display:none ?
Marsh Posté le 11-10-2007 à 18:29:16
J'ai fait un petit test avec onBlur sur une div et chez moi rien ne se passe (la div ne disparait pas)...
En revanche, avec un onMouseOut, j'ai un résultat qui semble être celui que tu attends...
Marsh Posté le 11-10-2007 à 19:46:01
c'est normal car onblur existe pas pour une div :
onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup
src : http://www.w3schools.com/tags/tag_div.asp
Marsh Posté le 11-10-2007 à 20:31:51
Sur ie, le onBlur fonctionne très bien sur une div
J'ai besoin d'aide pas sur le fait de savoir si onblur ou onmouseout est mieux (onmouseout ne fonctionne aps sur le même evenement, et n'est pas ce que je recherche, c'est bien un onblur que je veux (lorsqu'on perd le focus).
Mon problème ici est d'executer le onClick des span avant le onBlur de la div
Marsh Posté le 11-10-2007 à 20:34:07
désolé j'ai pas IE pour tester...Mais ton truc sent pas bon, si..
Enfin tu fais ce que tu veux.
Marsh Posté le 11-10-2007 à 21:22:20
Mais de toute façon, je peux mettre un onMouseOut, cela ne changera rien, c'est ça qui prendra la main sur le onClick du span...
Marsh Posté le 12-10-2007 à 03:24:20
jai fait ça, et jai aucun souci :
Code :
|
JS :
Code :
|
Marsh Posté le 12-10-2007 à 09:15:24
4bis a écrit : J'ai besoin d'aide pas sur le fait de savoir si onblur ou onmouseout est mieux (onmouseout ne fonctionne aps sur le même evenement, et n'est pas ce que je recherche, c'est bien un onblur que je veux (lorsqu'on perd le focus). |
Juste une précision pour faire mon casse-nouille du vendredi matin: Focus et Blur sont impossibles sur un div
Sur un lien ou un input de formulaire oui, sur le reste non. Grosso modo, si je peux arriver sur mon element avec la touche tab c'est bon ( le fait que ça marche sur IE n'est en rien un critère de validité)
Marsh Posté le 12-10-2007 à 09:40:14
xtof_83 a écrit : jai fait ça, et jai aucun souci :
|
Merci, je vais retester avec le onMouseOut pour voir si ca diffère.
anapajari a écrit : |
Je n'ai pas dit que c'était valide. Mais vu que mon développement ne concerne QUE internet explorer et n'est QUE compatible avec IE, mettre une div avec le onBlur, si cela fonctionne, cela me convient. De plus je ne souhaite pas avoir le comportement du onMouseOut, mais bien celui du onBlur, et pour l'instant, je n'ai pas trouvé d'autres solutions, mais si tu en as, je suis preneur.
Marsh Posté le 12-10-2007 à 11:14:18
xtof_83 >> Je viens de tester mais je ne souhaite pas ce comportement. Car vu que ma div est placée à 200px de la souris, dès que je bouge celle ci pour me diriger vers la div qui vient d'être affichée, elle disparait sur le onMouseOut.
Marsh Posté le 12-10-2007 à 17:30:56
Bon ben aussi si tu postes à moitié ta problématique...
Bon envoie tout...et on voit.
Marsh Posté le 12-10-2007 à 19:49:27
Euh je l'ai dit dès le début que je ne voulais pas de votre onMouseOut, mais bien du onBlur. Mais merci de ton aide
Sinon, c'est bon j'ai réussi à trouver en capturant le onBlur sur cet élément en javascript, et en faisant une petite manip
Marsh Posté le 11-10-2007 à 17:25:18
Bonjour,
J'ai encore un problème de javascript.
J'ai une div principale, sur celle-ci, je gère l'évènement onBlur, l'action executée est de faire disparaitre la div.
Dans cette div, j'ai un menu, avec des span, dans chaque span, je gère l'évènement onClick pour executer une action particulière.
Seulement, lorsque je click sur un des spans, cela execute directement le onBlur, mais pas l'action associée au onClick du span.
Voici un exemple :
<div onBlur="display:none">
<span onClick="faireTraitement1()">Faire Traitement 1</span>
<span onClick="faireTraitement2()">Faire Traitement 2</span>
</div>
Comment faire pour executer d'abord le "faireTraitement2() si je clicke sur ce span, et qu'après, il execute le onBlur ?
PS : je suis obligé de garder ce onBlur, car si je ne suis pas sur cette div, je souhaite qu'elle disparaisse.
Merci d'avance