$(function(){
$("#a").click(function(){ b(i);})
})
function b(i){
$("#b").click(function(){alert(2)})
$("#c").click(function(){alert(3)})
}
a 点击一次之后 b才能绑定点击事件,但是,我只要多次点击a,在点击一次b的时候 b的点击事件会运行多次。请教一下这个问题怎么解决? 或者是这样的流程应该怎么处理才好?
最好的做法是绑定完b的事件后将a隐藏掉,否则会让用户疑惑。
但一个可行的方法如下
$(function () {
$("#a").one("click",function () {
$("#b").click(function () { alert("b") });
});
});
楼上正解。长见识了。。。。在我看来,楼主的错误在于每次点击a都会运行b函数,因此会出现楼主所说的“只要多次点击a,在点击一次b的时候 b的点击事件会运行多次”。