Javascript 对于由addEventListener触发的循环,单击(JS)
我试图通过点击“addEventListener”函数来触发“for循环”。 我看到很多问题询问如何将addEventListener嵌入到for循环中,但找不到相反的情况,因为在addEventListener中嵌入了for循环 这是html -----html-----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
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);