Autor Tema: JavaScript. addEventListener, propagación, bubbling, captura. CU01158E  (Leído 2556 veces)

JuansT

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 44
    • Ver Perfil
Buenas, me salen todos los mensajes menos para window, y creo que es porque no es un nodo y por eso no tiene la propiedad nodeName, por lo demás creo que está bien:

Código: [Seleccionar]
<!DOCTYPE html>
<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<script type="text/javascript">
window.onload = function(){
var elems = document.querySelectorAll('P, div, body, html');
var nodeDocument = document.querySelector('html').parentNode;
for(var i=0;i<elems.length;i++){
elems[i].addEventListener("click",function(){
alert("Soy un nodo tipo: " + this.nodeName + " y estoy burbujeando");
});
}
nodeDocument.addEventListener("click",function(){
alert("Soy un nodo tipo: " + this.nodeName + " y estoy burbujeando");
});
window.addEventListener("click",function(){
alert("Soy un nodo tipo: " + this.nodeName + " y estoy burbujeando");
});
}
</script>
</head>
<body>
<div id="principal">
<div id="secundario">
<div id="terciario">
<p>elemplo de bubbling(burbujeo)</p>
</div>
</div>
</div>
</body>
</html>

bermartinv

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 298
    • Ver Perfil
Re:JavaScript. addEventListener, propagación, bubbling, captura. CU01158E
« Respuesta #1 en: 24 de Febrero 2017, 11:18 »
En el ejercicio solo nos pide que nos muestre los nodos dentro del div que hemos creado.
Como lo has resuelto muestra todos los nodos de la ventana.
No entiendo para que pusiste este evento:
Código: [Seleccionar]
window.addEventListener("click",function(){
alert("Soy un nodo tipo: " + this.nodeName + " y estoy burbujeando");
Prueba el código sin él, y no entendremos en undefined
Saludos  ;)

JuansT

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 44
    • Ver Perfil
Re:JavaScript. addEventListener, propagación, bubbling, captura. CU01158E
« Respuesta #2 en: 24 de Febrero 2017, 15:18 »
En el ejercicio solo nos pide que nos muestre los nodos dentro del div que hemos creado.
Como lo has resuelto muestra todos los nodos de la ventana.
No entiendo para que pusiste este evento:
Código: [Seleccionar]
window.addEventListener("click",function(){
alert("Soy un nodo tipo: " + this.nodeName + " y estoy burbujeando");
Prueba el código sin él, y no entendremos en undefined
Saludos  ;)

Buenas bermartinv, según el enunciado de este temario:

Citar
Crea un documento HTML donde dentro del elemento body tengamos un div con id “principal”, dentro de principal otro div denominado “secundario”, y dentro de secundario otro div con id “terciario”. Dentro de terciario debe existir un párrafo con el texto: Ejemplo de bubbling (burbujeo). Añade eventListeners con el evento click para los párrafos y todos los elementos div, document y window, y una función de respuesta común para todos ellos que emita el mensaje de alerta <<Soy un nodo tipo NombreDelNodo y estoy burbujeando>>.

Ejemplo: al hacer click sobre el texto <<Ejemplo de bubbling (burbujeo)>> deberán empezar a aparecernos mensajes como: Soy un nodo tipo P y estoy burbujenado. Soy un nodo tipo DIV y estoy burbujeando. Soy un nodo tipo DIV y estoy burbujeando…

Según lo que está marcado en rojo entiendo que debo hacer un burbujeo no sólo a los div's sino a todo, por eso añadí el addEventListener a document y window, a window ya sé que iba a dar undefined, yo creo que el enunciado pone que hagamos burbujeo a window para que nos demos cuenta de eso mismo, que window no es un nodo como todo lo demás y por eso no tiene propiedad nodeName.

Saludos

bermartinv

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 298
    • Ver Perfil
Tienes razon JuansT, nos pide el ejercicio mostrar el 'undefined'

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".