添加事件侦听器不是函数 [重复]

Add event listener is not a function [duplicate]

提问人:David Boell 提问时间:3/22/2023 最后编辑:David Boell 更新时间:3/22/2023 访问量:38

问:

当我运行此代码时,我在控制台中收到一个错误,指出“button.addEventListener 不是函数” 当我在文本编辑器中将鼠标悬停在responseToClick上时,它说该函数无效。我在这里做错了什么?

const button = document.querySelectorAll("button");
const body = document.querySelector("body");
button.addEventListener('click', responseToClick)

function responseToClick() {
    const h3Tag = document.createElement('h3');
    h3Tag.textContent("Foo");
    body.appendChild(h3Tag);
}
JavaScript 事件 单击 AddEventListener

评论

1赞 Pointy 3/22/2023
该方法返回元素列表.querySelectorAll()
0赞 Scott Marcus 3/22/2023
用于仅选择 DOM 中第一个出现的 a。然后,您可以为其设置处理程序。const button = document.querySelector("button");button

答:

0赞 user21193810 3/22/2023 #1

在第一行中,你正在使用 ,它返回一个数组。如果只有 1 个按钮,则更新后的代码如下:querySelectorAll

const button = document.querySelector("button");
const body = document.querySelector("body");
button.addEventListener('click', responseToClick)

function responseToClick() {
    const h3Tag = document.createElement('h3');
    h3Tag.textContent("Foo");
    body.appendChild(h3Tag);
}

评论

0赞 Scott Marcus 3/22/2023
.querySelectorAll() 不返回数组。它返回一个“类似数组”的对象,称为“节点列表”。