11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Voici un extrait de mon menu:

<div class="element_menu_hide"id="titre1">
 
         <li onClick="t_menu('titre1')"><span class="title">menu1</span>
          <ul>
           <li><a href="index.asp?inc=page2_1">ssm1</a></li>
           <li><a href="index.asp?inc=page2_2">ssm2</a></li>
           <li><a href="index.asp?inc=page2_3">ssm3</a></li>
          </ul>
         </li>
        </div>


J ai cree une fonction javascript qui fait que lorsque l on clique sur le titre, les sous menu apparaissent.
Maintenant j aimerais en ecrire une qui fasse que si je clique n importe ou sur l ecran (sauf sur les menus) cela fasse disparaitre les sous menus.
J ai essaye de mettre un onBlur dans le <span class="title">menu1</span> cela en amrche pas entierement car le focus est sur le titre donc meme si je clique sur un ss menu pour y acceder cela les fait disparaitre... J ai essayer de mettre le onBlur dans la <div> dans le <ul> mais comme il n y a pas de focus de fait dessus, le blur ne peut pas exister.

Ma question est donc, peut on obliger le focus sur un element? Des lors dans ma fonction t_menu, lorsque l on cliquera sur le menu, j obligerais un focus sur l'<ul> et en mettant un onBlur dans l <ul> ca devrais pouvoir marcher...

jespere que j ai ete clair..

merci d avance

Modifié par megasushi (19 Jun 2006 - 02:43)
Bonjour,
Hmmmm pas très clair.

AVant de se lancer dans le js, une petite question de HTML : pourquoi utiliser <span class="title"> et non pas <hn> ?

Ca c'est fait. Maintenant pour ton problème, tu peux peut-être essayer avec un onclick sur le document.
c est bon j ai trouve, merci d avoir essayer

si vous voulez savoir j avais oublier le principe fondamental de l ingenieur.. si tu n arrive pas a avoir "A" pense a avoir "A barre"
J ai donc mis des onFocus="cache()" un peu partout...
cache est ma fonction qui masque les ssmenus et fait dautre choses
megasushi a écrit :
Bonjour,

Maintenant j aimerais en ecrire une qui fasse que si je clique n importe ou sur l ecran (sauf sur les menus) cela fasse disparaitre les sous menus.

document.body.onclick=cache

pense à mettre résulu sur le titre Smiley cligne
Modifié par chmel (16 Jun 2006 - 10:48)
a écrit :

document.body.onclick=cache

C'est exactement à ça que je pensais quand je disais onclick sur le document.
je vois pas trop ou ecrire votre document.body.onclick=cache();
J l ai mis dans mon fichier jsp qui fait fonctionner mon menu clicable, mais ca ne fait rien donc j en revient pour l instant a ma methode

merci
Tu peux l'écrire presque n'importe où, du moment que le document est complètement chargé au moment où tu effectues l'action. Le mieux est peut-être de le mettre dans l'onload...