• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

事件点击for循环时的匿名函数问题

var mainMenu = document.getElementById("mainMenu").getElementsByTagName("li");
   for(var i = 0; i < 5; i++){
                mainMenu.onclick= (function(num) {
                               console.log(num);
                   })(i);
为什么我还没有点击,一打开网页后台就打印了所有i值??求各位大神帮忙解答一下,万分感谢

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

这是用闭包的方式写的,有点绕,你可以用this.index写
for(var i = 0; i < 5; i++){
mainMenu.onclick = (function(num){

  return function(){
  console.log(num);
  
  };
})(i);


}

使用道具 举报

(function(){})(i)是个自执行函数 当然是网页一打开就执行了咯。

函数体改成这样就可以实现 点哪个li打印哪个li
for(var i = 0; i < 5; i++) {
  mainMenu.index = i;
  mainMenu.onclick = function () {
    console.log(this.index);
  };
}

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!