click事件的累加绑定,绑定一次点击事件,执行多次。
在页面中为一个元素绑定事件,事件执行后页面未刷新且元素还在,然后你再次点击,元素又被绑定一个点击事件,这样第二次点击就会执行两次,以此类推。
如何解决累加绑定?具体方法有三种:
第一种方法是:元素点击后删除,然后再动态创建一个元素,再添加点击事件。(该方法比较麻烦)
第二种方法是:使用jQuery的one()方法,为元素绑定一个一次性的事件处理函数,这个事件处理函数只会被执行一次,代码如下:
$("#saveBtn").one("click",function(){});
第三种方法是:在每次绑定点击事件之前先解除之前 的事件绑定,再为元素绑定事件,类似于先清空再做操作一样。当使用bind()方法绑定时,可以使用unbind方法解除 绑定。通常我们更愿意用on()方法绑定事件,因为bind()方法已经不被推荐,那么就用off()方法解除事件绑定。
$("#saveBtn").unbind("click").bind("click",function(){});
$("#saveBtn").off("click").on("click",function(){});