Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/09/2012, 16:02
lubtufano
 
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.