Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs timerset.addEventListener不是函数吗?_Reactjs_Addeventlistener_Getelementsbyclassname - Fatal编程技术网

Reactjs timerset.addEventListener不是函数吗?

Reactjs timerset.addEventListener不是函数吗?,reactjs,addeventlistener,getelementsbyclassname,Reactjs,Addeventlistener,Getelementsbyclassname,当我运行下面的代码时,我得到了上面的错误。为什么呢 var timerset=document.getElementsByClassName(“newgameTButton”); 函数显示(){ 设置间隔(myTimer,1000); var计数=0; 函数myTimer(){ 如果(计数!==9)计数++; 否则{ 计数=0; textInfo='超时'; //this.context.newGame(); } document.getElementById(“计时器”).innerHTML

当我运行下面的代码时,我得到了上面的错误。为什么呢

var timerset=document.getElementsByClassName(“newgameTButton”);
函数显示(){
设置间隔(myTimer,1000);
var计数=0;
函数myTimer(){
如果(计数!==9)计数++;
否则{
计数=0;
textInfo='超时';
//this.context.newGame();
}
document.getElementById(“计时器”).innerHTML=count;
}
}
//对于(var i=0;i
文档接口的
getElementsByClassName
方法返回一个 具有所有给定属性的所有子元素的类数组对象 类名

EventTarget方法
addEventListener()
设置一个函数 将在指定的事件传递到时调用 目标。常见目标是元素文档窗口


正如您从上述引用中所读到的,
getElementsByClassName()
返回类似数组的对象,
addEventListener()
可以应用于元素、文档和窗口,但不能直接应用于任何类型的数组

必须将事件侦听器添加到元素,而不是元素数组
getElementsByClassName
一次返回多个元素(或者更具体地说,NodeList对象,它类似于一个元素数组),因此不能直接对其应用
addEventListener

您可以通过迭代
timerset
变量并使用循环对每个项/元素调用addEventListener来解决此问题


因此,在应用了上述更改之后,下面的代码可以正常工作-

var timerset=document.getElementsByClassName(“newgameTButton”);
函数显示(){
设置间隔(myTimer,1000);
var计数=0;
函数myTimer(){
如果(计数!==9)计数++;
否则{
计数=0;
textInfo='超时';
//this.context.newGame();
}
document.getElementById(“计时器”).innerHTML=count;
}
}
对于(var i=0;i
*{
文本对齐:居中
}
#计时器{
字体大小:100px;
颜色:绿色;
}
.新游戏按钮{
填充:20px;
背景色:#0275d8;
颜色:白色;
}
启动计时器
0
timerset.addEventListener is not a function