Javascript index.js:8未捕获类型错误:无法读取属性';增补列表器';索引js:8处未定义的,

Javascript index.js:8未捕获类型错误:无法读取属性';增补列表器';索引js:8处未定义的,,javascript,html,addeventlistener,Javascript,Html,Addeventlistener,我不知道该怎么做。但我可以试一试。我需要关于这个代码的帮助,我已经提供了我认为与回答这个问题相关的代码。我试图让我的代码在网站上按下一个键时发送一个警报,尽管每次我运行它都不起作用。我查看了chrome中的开发工具,它说我在chrome上遇到了这个错误(我的问题)。我浏览了html,正如一些人所说的,它不起作用 <!DOCTYPE html> <html lang="en" dir="ltr"> <head> &l

我不知道该怎么做。但我可以试一试。我需要关于这个代码的帮助,我已经提供了我认为与回答这个问题相关的代码。我试图让我的代码在网站上按下一个键时发送一个警报,尽管每次我运行它都不起作用。我查看了chrome中的开发工具,它说我在chrome上遇到了这个错误(我的问题)。我浏览了html,正如一些人所说的,它不起作用

<!DOCTYPE html>
<html lang="en" dir="ltr">

<head>
  <meta charset="utf-8">
  <title>Drum Kit</title>
  <link rel="stylesheet" href="styles.css">
  <link href="https://fonts.googleapis.com/css?family=Arvo" rel="stylesheet">
</head>

<body>

  <h1 id="title">Drum The error is because of the loop

it should be

for (var i = 0;i < document.querySelectorAll(".drum").length; i++){


鼓套件

滚筒错误是由于循环引起的

应该是

for(var i=0;i

因为您在上一次迭代中循环了一个额外的元素,
document.queryselectoral(.drum”)[i]
的值将是
未定义的

它工作了,但现在它导致在加载页面上的所有内容之前首先运行警报(“按键”)。这应该更改为
document.addEventListener(“按键”),drumKeys);
。添加()将直接调用函数,而不是等待回调。谢谢,我很荣幸您教会了我这些信息。