Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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
Javascript 函数在不等待事件侦听器的情况下运行_Javascript - Fatal编程技术网

Javascript 函数在不等待事件侦听器的情况下运行

Javascript 函数在不等待事件侦听器的情况下运行,javascript,Javascript,我对非常基本的js函数有一个问题。我环顾四周,发现主题非常相似,但对我没有帮助 所以我想在单击div之后运行一个函数。我的第一次尝试将导致函数在不单击它的情况下运行: 第一次尝试 document.getElementsByClassName('button').addEventListener(“单击”,幻灯片()); 函数幻灯片(){ x=document.getElementsByClassName('button')[0]; x、 innerHTML=“test123”; } 。按钮{

我对非常基本的js函数有一个问题。我环顾四周,发现主题非常相似,但对我没有帮助

所以我想在单击div之后运行一个函数。我的第一次尝试将导致函数在不单击它的情况下运行:

第一次尝试
document.getElementsByClassName('button').addEventListener(“单击”,幻灯片());
函数幻灯片(){
x=document.getElementsByClassName('button')[0];
x、 innerHTML=“test123”;
}
。按钮{
高度:60px;
背景色:暗色;
}

您必须解决代码中的问题:

  • 您不应在
    addEventListener
    中执行该函数
  • getElementsByClassName
    返回集合。因此,在使用
    getElementsByClassName
    时,必须使用适当的索引
  • document.getElementsByClassName('button')[0]。addEventListener(“单击”,幻灯片);
    函数幻灯片(){
    x=document.getElementsByClassName('button')[0];
    x、 innerHTML=“test123”;
    }
    。按钮{
    高度:60px;
    背景色:暗色;
    }

    由于您有一个id,因此最好使用它。GetElementsByCassName返回一个集合,因此您必须对其编制索引
    [0]
    ,以便向集合的第一个元素添加侦听器。这就是为什么第一个不起作用,这就是为什么第二个不起作用。第二:一定要检查你的网络控制台是否有错误。不要回答明显的、常见的重复问题。相反,投票以重复的方式结束。@T.J.Crowder除此之外,答案并不能解释
    getElementsByClassName
    返回的内容。@Ele:确实如此。:-)它至少用“索引”来暗示它,但是…@Mamun-我上面的第一条评论应该以“请”开头。很抱歉。