在我的closeBtn中添加函数时遇到了一些问题,因为它返回了错误的TypeError: closeBtn.addEventListener不是一个函数
我真的不知道为什么其他变量工作得很好,我不认为这是一个错误,我反复检查了我调用的类名。
//View Faculty Schedule MODAL SCRIPT//
var modal2 = document.getElementById('view-modal'); //Get Modal Element
var modalBtn = document.getElementById('searchfaculty'); //Button Element
var closeBtn = document.getElementsByClassName('closeBtn'); //Close Button Element
//opening
modalBtn.addEventListener('click', openModal);
//closing
closeBtn.addEventListener();
function openModal() {
modal2.style.display = "block";
}
function closeModal() {
modal.style.display = "none";
}然后,html
<div id="view-modal" class="modal2">
<div class="modal-view">
<span class="closeBtn">×</span>
<p>sfsdfsdfsdfdf</p>
</div>
提前感谢
发布于 2019-02-19 13:13:47
发布于 2019-02-19 13:30:31
getElementById()返回具有相应id的第一个HTML元素,而getElementsByClassName()则返回具有相应类的所有元素的HTML集合。
closeBtn[0].addEventListener('click',()=>{
//execute your code
});var modal2 = document.getElementById("view-modal"); //Get Modal Element
//var modalBtn = document.getElementById("searchfaculty"); //Button Element
var closeBtn = document.getElementsByClassName("closeBtn"); //Close Button Element
//Your answer
closeBtn[0].addEventListener("click", () => {
//execute your function
});
//check what it returns
console.log(modal2);
console.log(closeBtn);
function openModal() {
modal2.style.display = "block";
}
function closeModal() {
modal.style.display = "none";
}<!DOCTYPE html>
<html>
<head>
<title>Parcel Sandbox</title>
<meta charset="UTF-8" />
</head>
<body>
<div id="app">
<div id="view-modal" class="modal2">
<div class="modal-view">
<span class="closeBtn">×</span>
<p>1st Close Button</p>
</div>
<div id="view-modal" class="modal2">
<div class="modal-view">
<span class="closeBtn">×</span>
<p>2nd Close Button </p>
</div>
</div>
</body>
</html>https://stackoverflow.com/questions/54766876
复制相似问题