addEventListener 到 all 按钮使用 forEach



我正在尝试addEventListener我所有的按钮。这是我第一次使用addEventListener,它没有运行usergetNumber函数,当单击任何按钮时,该函数应显示一个随机数。

const btns = document.querySelectorAll(".button");
btns.forEach(function(i) {
i.addEventListener('click', usergetNumber(){
});
function usergetNumber(){
const userRanNum = Math.floor(Math.random() * 10)
userscore_div.innerHTML = "You have " + userRanNum + " points";
computergetNumber();
function computergetNumber(){
const compRanNum = Math.floor(Math.random() * 10)
computerscore_div.innerHTML = "You have " + compRanNum + " points";
}
What am I doing wrong?

从上到下。

  1. addEventListener()中已经有一个usergetNumber() { ... }声明的函数。这是一个函数声明,而不是这里的回调。参考:事件侦听器回调。
  2. usergetNumber() { ...上的右括号丢失,因此未声明。

下面是一个基本示例。你也可以只return而不console.log.在这里,我只是想复制逻辑。

const btn = document.querySelectorAll('button');

function getRandomNum() {
let randomNum = Math.random();
console.log(randomNum);
} 
btn.forEach(function(button) {
button.addEventListener('click', getRandomNum);
});

最新更新