Foros del Web » Programando para Internet » Javascript »

menu pierde foco

Estas en el tema de menu pierde foco en el foro de Javascript en Foros del Web. hola amigos haber si me podeis hechar una mano Tengo el siguiente scipt: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original function Menu ( el ) ...
  #1 (permalink)  
Antiguo 18/09/2012, 15:15
 
Fecha de Ingreso: abril-2012
Mensajes: 31
Antigüedad: 12 años
Puntos: 0
menu pierde foco

hola amigos haber si me podeis hechar una mano

Tengo el siguiente scipt:


Código Javascript:
Ver original
  1. function Menu(el){
  2.    elemento = el.parentNode.getElementsByTagName('ul')[0]
  3.    elemento.style.display = elemento.style.display == 'none' ? 'block' : 'none'
  4.   }



Código PHP:
Ver original
  1. echo "
  2. <ul >
  3.    <li class='nivel1' onclick='Menu(this)'>entrar como usuario  
  4.        <ul>
  5.             <li ><div id='inte'><input type='text' name='nick' id='mail'  /></div></li>  
  6.         </ul>          
  7.    </li>  
  8. </ul>";


El problema q tengo es que al pulsar en el input se me cierra el menu
Alguien sabe el motivo, que puedo hacer ?
  #2 (permalink)  
Antiguo 18/09/2012, 16:02
 
Fecha de Ingreso: julio-2011
Mensajes: 220
Antigüedad: 12 años, 9 meses
Puntos: 72
Respuesta: menu pierde foco

Se debe al flujo o burbujeo de eventos.
http://librosweb.es/ajax/capitulo6/e...e_eventos.html

La manera de solucionarlo es detener el flujo de eventos, se puede hacer de la siguiente manera.
Código Javascript:
Ver original
  1. <script>
  2.     function Menu(el){
  3.        elemento = el.parentNode.getElementsByTagName('ul')[0]
  4.        elemento.style.display = elemento.style.display == 'none' ? 'block' : 'none'
  5.       }
  6.    
  7.     function detenerBurbujeo(elEvento){
  8.         if(window.event){
  9.             window.event.cancelBubble= true;
  10.         }
  11.         else
  12.             if(elEvento){
  13.                 elEvento.stopPropagation();
  14.             }
  15.     }
  16. </script>
  17.  
  18. <ul >
  19.    <li class='nivel1' onclick='Menu(this)'>entrar como usuario  
  20.        <ul>
  21.             <li ><div id='inte'><input type='text' name='nick' id='mail' onclick="detenerBurbujeo(event)" /></div></li>  
  22.         </ul>          
  23.    </li>  
  24. </ul>

Es muy importante pasar como parámetro a la función detenerBurbujeo() la palabra clave event.
  #3 (permalink)  
Antiguo 19/09/2012, 03:52
 
Fecha de Ingreso: abril-2012
Mensajes: 31
Antigüedad: 12 años
Puntos: 0
Respuesta: menu pierde foco

bua muchas gracias lubtufano me va perfectamente, mira que llevaba tiempo investigando cual podia ser el problema

muchas gracias

Última edición por netoraaacing; 19/09/2012 a las 04:04

Etiquetas: foco, input, pierde
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:12.