addEventListener不是函数 [英] addEventListener is not a function
问题描述
我正在尝试使用关闭点击功能来关闭div.这是代码
hi i am trying to close the divs using the close click.. here is the code
var closeIcon=document.getElementsByClassName('.monique-close-icon');
function closeBigImgAndContainer()
{
MoniqueDiv.style.display= "none";
currentBigImageToDisplay.style.display="none";
};
closeIcon.addEventListener("click", closeBigImgAndContainer);
但是在控制台中有一个错误未捕获的TypeError:closeIcon.addEventListener不是一个函数(匿名函数)@ main.js:14 请告诉我我在哪里做错了...谢谢.
But in console there is an error Uncaught TypeError: closeIcon.addEventListener is not a function(anonymous function) @ main.js:14 Please tell me where i am doing it wrong...Thanks.
推荐答案
getElementsByClassName
返回元素数组,元素上存在 addEventListener
.
getElementsByClassName
returns an array of elements, addEventListener
exists on elements.
解决方法是遍历getElementsByClassName的结果集,并在每个项目上调用addEventListener:
The fix would be to iterate over the result set from getElementsByClassName and call addEventListener on each item:
var closeIcons=document.getElementsByClassName('.monique-close-icon');
function closeBigImgAndContainer()
{
MoniqueDiv.style.display= "none";
currentBigImageToDisplay.style.display="none";
};
for (i = 0; i < closeIcons.length; i++) {
closeIcons[i].addEventListener("click", closeBigImgAndContainer);
}
这篇关于addEventListener不是函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!