首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >事件循环

事件循环
EN

Stack Overflow用户
提问于 2013-08-20 09:05:47
回答 1查看 50关注 0票数 0

我正在与一个在线教程一起工作,并试图理解下面的代码。我不明白的是为什么这个工作不止两次。当循环执行了两次i == len且条件i < len不再为真时。那么,为什么可以切换两次以上的不同类呢?

我的猜测是,当条件为false时,i又被设置为0,我是否正确地理解了这一点?希望有人能帮我,我在网上找不到这个问题的解释。

代码语言:javascript
复制
 <button>Normal</button>
 <button>Changed</button>

CSS

代码语言:javascript
复制
.normal {background-color: white;color:black;}
.changed {background-color: black;color:white;}

JavaScript

代码语言:javascript
复制
(function() {
var buttons = document.getElementsByTagName("button");

for (var i = 0, len = buttons.length; i < len; i +=1)
  buttons[i].onclick = function() {
    var className = this.innerHTML.toLowerCase();
    document.body.className = className;
 }}
}());
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-20 09:22:54

for循环只执行一次,并遍历所有按钮。在for循环体中,为每个按钮定义一个onclick函数。

因此,在您可以单击循环已经完成的任何位置之前,在每个按钮中添加一个onclick函数,每次都会调用该函数,然后单击该按钮。

使用button[i].onclick = function() {...},您可以向单击事件按钮添加一个事件处理程序函数。

您应该阅读更多关于事件处理程序的一般内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18331087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档