Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.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 为什么我的JS函数不单击就自动启动?_Javascript_Html_Css_Web - Fatal编程技术网

Javascript 为什么我的JS函数不单击就自动启动?

Javascript 为什么我的JS函数不单击就自动启动?,javascript,html,css,web,Javascript,Html,Css,Web,基本上我想切换“活动”类。我希望在main.JS文件中包含所有与JS相关的代码。 我的意思是我不希望我的#readmore按钮的属性中有onClick=toggle()。onClick方法工作正常,可以切换我的“活动”类。但问题是不这样做。 当我使用下面的代码时,它会自动将“active”类添加到.container中,当我单击#readmore时不会删除。顺便说一下,我不想使用jQuery。 我的代码: var myBtn=document.querySelector(“#readmore”

基本上我想切换“活动”类。我希望在main.JS文件中包含所有与JS相关的代码。 我的意思是我不希望我的#readmore按钮的属性中有onClick=toggle()。onClick方法工作正常,可以切换我的“活动”类。但问题是不这样做。 当我使用下面的代码时,它会自动将“active”类添加到.container中,当我单击#readmore时不会删除。顺便说一下,我不想使用jQuery。

我的代码

var myBtn=document.querySelector(“#readmore”);
myBtn.addEventListener(“单击”,切换());
函数切换(){
document.querySelector(“.container”).classList.toggle('active');
};

Lorem ipsum dolor坐在amet Concertetur,告别精英。莫迪,奈斯金!第二无腹侧盘最大建筑。

连接事件侦听器时执行
切换

myBtn.addEventListener("click",toggle());
//                                   ^^
我们希望传递函数引用:

myBtn.addEventListener("click", toggle);

附加事件侦听器时执行
切换:

myBtn.addEventListener("click",toggle());
//                                   ^^
我们希望传递函数引用:

myBtn.addEventListener("click", toggle);

在这种情况下,你正在写作
myBtn.addEventListener(“单击”,切换())
您同时调用函数,但应添加对函数的引用,调用函数将通过addEventListener完成

把你的函数改成这样-
myBtn.addEventListener(“单击”,切换)

在本例中,您正在编写
myBtn.addEventListener(“单击”,切换())
您同时调用函数,但应添加对函数的引用,调用函数将通过addEventListener完成

把你的函数改成这样-
myBtn.addEventListener(“单击”,切换)

因为第二个参数需要函数引用,所以您需要提供一个函数引用。对于有问题的代码,您将立即调用函数并传递其结果

我们需要这样做:

myBtn.addEventListener("click", toggle);
您可以查看以下文档:
现在,侦听器将侦听您的单击事件,并为您调用函数。

由于第二个参数需要函数引用,因此您需要提供一个函数引用。对于有问题的代码,您将立即调用函数并传递其结果

我们需要这样做:

myBtn.addEventListener("click", toggle);
您可以查看以下文档:
现在,侦听器将侦听您的单击事件,并为您调用该函数。

哦,这很有效!!!非常感谢你。但是我没有真正理解这个问题,你能解释一下吗?你更快:)也想发布:)@wasilikoslow,他在eventListener中将
toggle()
替换为
toggle
,因为code@wasilikoslow由于第二个参数需要函数引用,因此需要提供一个函数引用。对于有问题的代码,您立即调用函数并传递其结果,我现在理解了问题。。。谢谢大家:)哦,这很有效!!!非常感谢你。但是我没有真正理解这个问题,你能解释一下吗?你更快:)也想发布:)@wasilikoslow,他在eventListener中将
toggle()
替换为
toggle
,因为code@wasilikoslow由于第二个参数需要函数引用,因此需要提供一个函数引用。对于有问题的代码,您立即调用函数并传递其结果,我现在理解了问题。。。谢谢大家:)