addEventListener不是函数 [英] addEventListener is not a function

查看:83
本文介绍了addEventListener不是函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用关闭点击功能来关闭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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆