Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Funciones onclick sobrepuesta

Estas en el tema de Funciones onclick sobrepuesta en el foro de Javascript en Foros del Web. Buenas, tengo el siguiente código: <html> <head></head> <body onclick="desactiva()"> <ul> <li onclick="activa('1')"></li> <li onclick="activa('2')"></li> </ul> </body> </html> el problema es que cuando hago click en ...
  #1 (permalink)  
Antiguo 07/01/2016, 06:30
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: España
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 0
Funciones onclick sobrepuesta

Buenas,

tengo el siguiente código:

<html>
<head></head>
<body onclick="desactiva()">
<ul>
<li onclick="activa('1')"></li>
<li onclick="activa('2')"></li>
</ul>
</body>
</html>

el problema es que cuando hago click en las funciones activa me ejecuta también desactiva.

Como puedo hacer para que al pulsar <li> no ejecute el onclick del body.


  #2 (permalink)  
Antiguo 07/01/2016, 06:39
 
Fecha de Ingreso: octubre-2015
Ubicación: Valencia
Mensajes: 9
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: Funciones onclick sobrepuesta

mediante la propiedad z-index de css, a body le das un valor inferior que a los elementos li.
Saludos!
  #3 (permalink)  
Antiguo 07/01/2016, 06:48
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: España
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Funciones onclick sobrepuesta

Ya probé está opción y no me funciona...
  #4 (permalink)  
Antiguo 07/01/2016, 06:58
 
Fecha de Ingreso: octubre-2015
Ubicación: Valencia
Mensajes: 9
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: Funciones onclick sobrepuesta

Perdón lo que quieres hacer se llama detener propagación de eventos me equivoque de foro.
lo que haces es detener el evento
llamas a esta funcion y deberia de funcionar
Código Javascript:
Ver original
  1. function detenerEvento( e )
  2.             {
  3.                  if( document.all )
  4.                  {
  5.                      window.event.cancelBubble = true;
  6.                  }
  7.                  else
  8.                  {
  9.                      event.stopPropagation();
  10.                  }
  11.             }
  #5 (permalink)  
Antiguo 07/01/2016, 07:39
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: España
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Funciones onclick sobrepuesta

esta funcion la meto dentro de la funcion activa de los <li> ?


el "e" hay que definirlo ?
  #6 (permalink)  
Antiguo 07/01/2016, 09:11
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: Funciones onclick sobrepuesta

Cita:
Iniciado por mario798 Ver Mensaje
esta funcion la meto dentro de la funcion activa de los <li> ?


el "e" hay que definirlo ?no
Cita:
<body onclick="console.log('body')">
<ul>
<li onclick="console.log('li1'); (window.event) ? window.event.cancelBubble = true : event.stopPropagation()"></li>
<li onclick="console.log('li2'); (window.event) ? window.event.cancelBubble = true : event.stopPropagation()"></li>
</ul>
.event.cancelBubble es para navegadores antiguos (<=ie8)
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #7 (permalink)  
Antiguo 07/01/2016, 09:28
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: España
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Funciones onclick sobrepuesta

Lo consegui ! ya me estaba volviendo loco con esta cosa tan simple...

Muchas gracias !!

Etiquetas: funcion, funciones, html, onclick
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 04:28.