Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/04/2020, 10:43
prueba230683
 
Fecha de Ingreso: abril-2011
Mensajes: 170
Antigüedad: 13 años, 7 meses
Puntos: 68
Respuesta: Detectar valor document.getElementById() dentro de un array

Como el evento click tiene efecto burbuja (bubbling), lo que puedes hacer es crear un contenedor genérico para todas esas imágenes:

Código HTML:
Ver original
  1. <div id="contenedor">
  2.    <li><img id="azul" src="img/azul.png" ></li>
  3.    <li><img id="amarillo" src="img/amarillo.png" ></li>
  4.    <li><img id="verde" src="img/verde.png" ></li>
  5.    <li><img id="rojo" src="img/verde.png" ></li>
  6. </div>

y asociar el evento click a dicho contenedor:

Código Javascript:
Ver original
  1. document.getElementById("contenedor").onclick = function(event){
  2.   var elemento = event.target;
  3.   if(elemento.tagName = "IMG"){ // si se ha hecho click a una imagen
  4.     modal.style.display = "flex";
  5.     modalImg.src = elemento.src;
  6.     captionText.innerHTML = elemento.alt;
  7.   }
  8. }

De esta forma no hace falta recorrer cada una de las imágenes. Además, si si añaden más imagenes dinámicamente, el código sigue funcionando.