绑定事件中函数的执行的顺序

绑定事件中函数的执行的顺序

for(var m=0;m<menuItems.length;m++){
        menuItems[m].setAttribute("data-index",m);
        menuItems[m].onmouseover=function(){
            console.log(m);
            // var idx=this.getAttribute("data-index");
            // subMenu.className="sub-menu";
            // for(var j=0;j<innerbox.length;j++){
            //     innerbox[j].style.display='none';
            //     menuItems[j].style.background='none';
            // }
            // innerbox[idx].style.display='block';
            // menuItems[idx].style.background='rgba(0,0,0,0.1)';
        }
    }

老师,这个总是输出的4,为啥不是for循环一个一个绑定,然后执行后面的function呢?function难道是最后执行的吗?请老师指教。。。

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

应该是先绑定所有的事件,然后鼠标移到那个子菜单上,就获得子菜单的idx,然后执行function()。祝:学习愉快~

好帮手慕阿满 2019-01-25 13:54:09

同学你好,这里输出的4应该是指menuItems的长度,具体绑定事件输出m应该是在函数的外面获取m,如:

http://img1.sycdn.imooc.com//climg/5c4aa4360001c4d107800479.jpg

获取值后绑定函数。函数是在绑定后再执行的。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 程研板 #1
    意思就是先绑定4个事件,4个事件的function ()最后再依次执行,还是每次绑定一个事件的时候,他的function 就执行。
    2019-01-25 14:56:50
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师