首页 新闻 会员 周边 捐助

jquery 函数 运行次数的求助

0
悬赏园豆:5 [待解决问题]

$(function(){
  $("#a").click(function(){ b(i);})
})
function b(i){
  $("#b").click(function(){alert(2)})
  $("#c").click(function(){alert(3)})
}
a 点击一次之后 b才能绑定点击事件,但是,我只要多次点击a,在点击一次b的时候 b的点击事件会运行多次。请教一下这个问题怎么解决?  或者是这样的流程应该怎么处理才好?

fg352l的主页 fg352l | 初学一级 | 园豆:197
提问于:2013-03-11 13:18
< >
分享
所有回答(2)
0

最好的做法是绑定完b的事件后将a隐藏掉,否则会让用户疑惑。

但一个可行的方法如下

$(function () {
$("#a").one("click",function () {
$("#b").click(function () { alert("b") });
});
});

陈希章 | 园豆:2538 (老鸟四级) | 2013-03-11 14:11
0

楼上正解。长见识了。。。。在我看来,楼主的错误在于每次点击a都会运行b函数,因此会出现楼主所说的“只要多次点击a,在点击一次b的时候 b的点击事件会运行多次”。

prison | 园豆:298 (菜鸟二级) | 2013-03-19 16:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册