Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/04/2020, 10:59
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Detectar valor document.getElementById() dentro de un array

Cita:
Hola, Kalhito, no hace falta referir al id ni hacer una función por cada imagen. Podés usar delegación de eventos, por ejemplo (hay muchas maneras, pero esa te irá bien). Podés investigar un poco (https://javascript.info/event-delegation), pero es más o menos así:
Estaba respondiéndote, pero se me adelantó prueba230683. Solo cambiaría esto:
Código:
contenedor.onclick = function(event){
  var elemento = event.target;
  if(elemento.tagName = "IMG"){ // si se ha hecho click a una imagen
    modal.style.display = "flex";
    modalImg.src = elemento.src;
    captionText.innerHTML = elemento.alt;
  }
}
Por esto:
Código:
var contenedor=document.getElementById('contenedor');
contenedor.addEventListener(
    'click',
     function(e){
        var elemento = e.target;
        if(elemento.nodeName.toLowerCase()== "img"){
            modal.style.display = "flex";
            modalImg.src = elemento.src;
            captionText.innerHTML = elemento.alt;
        }
    }
);