Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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 对于由addEventListener触发的循环,单击(JS)_Javascript - Fatal编程技术网

Javascript 对于由addEventListener触发的循环,单击(JS)

Javascript 对于由addEventListener触发的循环,单击(JS),javascript,Javascript,我试图通过点击“addEventListener”函数来触发“for循环”。 我看到很多问题询问如何将addEventListener嵌入到for循环中,但找不到相反的情况,因为在addEventListener中嵌入了for循环 这是html -----html----- HO-HO -----JavaScript----- var myDiv=document.getElementById(“myDiv”); var objs={Aman:function(){myDiv.style.b

我试图通过点击“addEventListener”函数来触发“for循环”。 我看到很多问题询问如何将addEventListener嵌入到for循环中,但找不到相反的情况,因为在addEventListener中嵌入了for循环

这是html -----html-----


HO-HO

-----JavaScript-----

var myDiv=document.getElementById(“myDiv”);
var objs={Aman:function(){myDiv.style.background=“yellow”},
Bman:function(){myDiv.style.margin=“30px”},
Cman:function(){myDiv.style.border=“blue”};
函数循环(){
对于(var i=0;i
我真的不明白为什么这不起作用。 非常感谢你的天才

p、 s;
如果这无法工作,那么如何将多个事件链接到一个“addEventListener”短语?

您必须循环对象的属性

var myDiv=document.getElementById(“myDiv”);
变量objs={
阿曼:函数(){
myDiv.style.background=“黄色”;
},
Bman:function(){
myDiv.style.margin=“30px”;
},
Cman:function(){
myDiv.style.border=“蓝色”;
}
};
函数循环(){
for(Object.keys的var键(objs)){
objs[key]();
}
}
myDiv.addEventListener(“单击”,循环)

HO-HO


您的代码有两个问题。 1.在for循环中使用
objs.length
,但没有对象的长度。 2.在OBJ中定义函数。但是你不能调用函数

你可以看看这个。这可能对你有帮助

var myDiv=document.getElementById(“myDiv”);
变量objs={
阿曼:函数(){
myDiv.style.background=“黄色”;
},
Bman:function(){
myDiv.style.margin=“30px”;
},
Cman:function(){
myDiv.style.border=“蓝色”;
}
};
函数循环(){
//循环遍历Object.keys(objs.length)而不是objs.length
for(设i=0;i

HO-HO

的条件
(var i=0;i
不正确。您可以使用
Object.keys.length
获取
对象的长度。
<div id="myDiv">
  <p id="myP">HO HO HO</p>
</div>
    var myDiv = document.getElementById("myDiv");

    var objs = {Aman : function(){myDiv.style.background="yellow"}, 
                Bman : function(){myDiv.style.margin = "30px"},
                Cman : function(){myDiv.style.border ="blue"}};

    function loop(){
      for(var i=0; i < objs.length ; i++){
          return objs[Object.keys(objs)[i]] }
                   };

    myDiv.addEventListener("click", loop);