Estoy buscando durante dos días cómo agregar un eventListener en cada div en mi Nodelist. Estoy trabajando con una API para la escuela y tenemos que mostrar películas y deben editarse, gustar y más, así que tuve la idea de poner un botón "ver más" en los carteles de películas para mostrar botones y más información. Aquí está mi código:
const movieIntegration =() => { allMovies.map(movie=> { movieGallery.innerHTML += `<div class="imgContainer"> <img src="${movie.img}" alt="${movie.name}"> <div class="titleContainer"> <div class="movieTitle"> ${movie.name} </div> <div class="seemore"> See more </div> </div> </div>` }) const seemore = document.querySelectorAll(".seemore") seemore.forEach(elm => { elm.addEventListener("click", console.log("this is working"), true) }) }Ahora necesito obtener todos los divs con una clase "seemore" (devuelve un NodeList) y agregar un eventListener que funciona al hacer clic, pero cuando lo hago y luego consola. registro un mensaje al hacer clic, mi consola muestra nueve veces el mensaje pero no he hecho clic en los botones y luego, cuando hago clic en ellos, no pasa nada.
Puede alguien ayudarme por favor ?
(pd: lo siento si no entendiste, soy malo en ingles)
Su código no funciona porque está utilizando el valor de retorno de console.log como oyente. Si desea que el oyente sea una función que llame a console.log, use la siguiente sintaxis
elm.addEventListener("click", () => console.log("this is working"), true)