如何在 NodeList 中的每个 div 上添加一个 eventListener
how to add an eventListener on each div in a NodeList
我正在寻找两天时间,了解如何在我的节点列表中的每个 div 上添加一个 eventListener。
我正在为学校 API 工作,我们必须展示电影,它们需要编辑、喜欢等等,所以我想到在电影海报上放置一个“查看更多”按钮以显示按钮等信息。这是我的代码:
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)
})
}
现在我需要获取所有带有“seemore”class(returns NodeList)的 divs 并添加一个在点击时起作用的 eventListener,但当我这样做时然后 console.log 单击时显示一条消息,我的控制台显示该消息的九次,但我没有单击按钮,然后单击它们时没有任何反应。
有人可以帮我吗?
(ps:对不起,如果你误会了,我英文不好)
您的代码无法正常工作,因为您使用的是 console.log 的 return 值作为侦听器。如果您希望侦听器成为调用 console.log 的函数,请使用以下语法
elm.addEventListener("click", () => console.log("this is working"), true)
我正在寻找两天时间,了解如何在我的节点列表中的每个 div 上添加一个 eventListener。 我正在为学校 API 工作,我们必须展示电影,它们需要编辑、喜欢等等,所以我想到在电影海报上放置一个“查看更多”按钮以显示按钮等信息。这是我的代码:
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)
})
}
现在我需要获取所有带有“seemore”class(returns NodeList)的 divs 并添加一个在点击时起作用的 eventListener,但当我这样做时然后 console.log 单击时显示一条消息,我的控制台显示该消息的九次,但我没有单击按钮,然后单击它们时没有任何反应。
有人可以帮我吗?
(ps:对不起,如果你误会了,我英文不好)
您的代码无法正常工作,因为您使用的是 console.log 的 return 值作为侦听器。如果您希望侦听器成为调用 console.log 的函数,请使用以下语法
elm.addEventListener("click", () => console.log("this is working"), true)