for(vari;i
2 回答
慕虎7371278
TA贡献1802条经验 获得超4个赞
这种情况我一般会这么写functiononImport(){}functiononSave(){}constactions={//如果有参数自己扩展"import":()=>onImport(),"save":()=>onSave()};for(leti=0;i<10;i++){consthandler=actions[type(i)];if(handler){$(id[i]).bind(handler);}}至于你的问题,这个代码不能复现,我怀疑是在别的地方调用了多次绑事件的处理。
慕沐林林
TA贡献2016条经验 获得超9个赞
首先,这个问题应该不是javascript语言的特性问题,属于程序逻辑的问题。其次,你的代码,有错误,在for里面vari应该还要给i初始化赋值,也即for(vari=0;i<10;i++)然后,我模拟了你的代码,没有重现你的问题,是不是你的type(i)取到的值都是一样的?这是我模拟的代码TEST crossorigin="anonymous"> btn0 btn1 btn2 for(vari=0;i<3;i++){switch(i){case0:$('#btn'+i).bind('click',function(event){console.log($(this).text());});break;case1:$('#btn'+i).bind('click',function(event){console.log($(this).text());});break;case2:$('#btn'+i).bind('click',function(event){console.log($(this).text());});break;default:break;}}
添加回答
举报
0/150
提交
取消