js创建onclick事件不能传递动态参数

for(vara=0;a<3;a++){g[a].onclick=function(){c(a);}}functionc(i){alert(i);}结果一直为3,应该怎么... for(var a=0;a<3;a++){
g[a].onclick=function (){c(a);}
}
function c(i){
alert(i);
}
结果一直为3,应该怎么传递a的动态值??
展开
 我来答
shuyue_888
2016-08-12 · TA获得超过417个赞
知道小有建树答主
回答量:406
采纳率:84%
帮助的人:311万
展开全部
for(var a=0;a<3;a++){
    g[a].onclick=(function (a){return function (){c(a);}})(a);
}
function c(i){
    alert(i);
}
更多追问追答
追问
这样虽然可以传递参数但是没有创建onclick事件,不用点击,直接就运行弹出框来了
追答
你看我后面更改的代码。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式