Foros del Web » Programando para Internet » Javascript »

Jugar con los z-index y position

Estas en el tema de Jugar con los z-index y position en el foro de Javascript en Foros del Web. Buenos días a todos! Tengo que plantearos una duda: Mi página va a llevar un div (flotante a la izquierda) que dentro va a llevar ...
  #1 (permalink)  
Antiguo 28/10/2013, 05:58
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 14 años, 3 meses
Puntos: 14
Pregunta Jugar con los z-index y position

Buenos días a todos!

Tengo que plantearos una duda:

Mi página va a llevar un div (flotante a la izquierda) que dentro va a llevar una imagen, un título y unos datos y al hacer click en él va a mostrar unas fichas para mostrar más detalles, y dentro de él va a llevar un div oculto el cual va a mostrarse cuando se ponga el puntero encima y que llevará un botón que me realizará algunas acciones.

Ahora bien, ¿cómo puedo hacer para que al pulsar sobre el botón de la capa oculta no me realice la acción que tengo asociada al clic del div que lo contiene? He probado añadiendo los z-index y demás pero nada de nada....

El código, para que os hagáis una idea sería:
Código HTML:
Ver original
  1. <div class="contenedor" onclick="alert('acciona el click en el contenedor');">
  2. <img src='algunsitio.jpg'/>
  3. <div class="capaoculta">
  4. <div class="boton" onclick="alert('acciona el click del boton');"></div>
  5. </div>
  6. </div>

El problema: cuando hago click en el "boton" me saca el alert('acciona el click en el contenedor') y alert('acciona el click del boton') cuando tendría que sacarme únicamente el alert('acciona el click del boton')
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #2 (permalink)  
Antiguo 28/10/2013, 10:06
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 16 años, 2 meses
Puntos: 187
Respuesta: Jugar con los z-index y position

Tu problema no es con el z-index ni con CSS.

Sino que el evento click se está propagando en el árbol de elementos y accionando el click del contenedor.

Para evitarlo tienes que cancelar la propagación
Código HTML:
Ver original
  1. <div class="contenedor" onclick="alert('acciona el click en el contenedor');">
  2.     <img src='algunsitio.jpg'/>
  3.     <div class="capaoculta">
  4.     <div id="boton" class="boton">contenido boton</div>
  5.     </div>
  6.     </div>
Código Javascript:
Ver original
  1. document.getElementById("boton").onclick = function(e) {
  2.     alert('acciona el click del boton');
  3.     if(e && e.stopPropagation)
  4.     {
  5.         e.stopPropagation();
  6.     }
  7.     else
  8.     {
  9.           e = window.event;
  10.           e.cancelBubble = true;
  11.     }
  12. }
Acá tienes un jsFiddle con el código funcionando
  #3 (permalink)  
Antiguo 28/10/2013, 10:12
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 14 años, 3 meses
Puntos: 14
Respuesta: Jugar con los z-index y position

Cita:
Iniciado por ryugen Ver Mensaje
Tu problema no es con el z-index ni con CSS.

Sino que el evento click se está propagando en el árbol de elementos y accionando el click del contenedor.

Para evitarlo tienes que cancelar la propagación
Código HTML:
Ver original
  1. <div class="contenedor" onclick="alert('acciona el click en el contenedor');">
  2.     <img src='algunsitio.jpg'/>
  3.     <div class="capaoculta">
  4.     <div id="boton" class="boton">contenido boton</div>
  5.     </div>
  6.     </div>
Código Javascript:
Ver original
  1. document.getElementById("boton").onclick = function(e) {
  2.     alert('acciona el click del boton');
  3.     if(e && e.stopPropagation)
  4.     {
  5.         e.stopPropagation();
  6.     }
  7.     else
  8.     {
  9.           e = window.event;
  10.           e.cancelBubble = true;
  11.     }
  12. }
Acá tienes un jsFiddle con el código funcionando
Perdón entonces ;) pensé que con alguna ayuda de css podría cambiarlo... habría que meter el post en javascript entonces ;)

Sólo comentarte....en el resultado que me comentas al final, me saca siempre el botón y no el alert del contenedor, ¿es correcto?
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"

Etiquetas: css, jugar, página, position, z-index
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:15.