Jquery on("click") 方法绑定事件后执行多次解决办法

 项目遇到过使用js动态加载内容,同时需要对加入的内容绑定点击事件的,当时想想了想可以使用内联的onclick 来实现,后来没有这样做,使用的是 on(‘click’,function(){}) ,然而使用on方法的时候就发现,on 对同一个元素多次绑定同一个事件的时候,这个事件就会执行多次。

 

 1 $(function(){
 2         $(".add").click(function(eve){
 3             $(".btn-area").append("<button class='test-btn'>test button</button>");
 4 
 5             //$(".test-btn").off("click");
 6             //$(".test-btn").unbind("click");
 7             //$(".test-btn").unbind(); //去掉所有绑定事件
 8 
 9             $(".test-btn").on("click",function(){
10                 console.log("test button .....");
11             });
12         });
13 });

在点击add按钮的添加测试按钮,测试按钮绑定点击事件,会出现执行多次的异常,

遇到这种情况需要在每次绑定事件之前,对该事件解绑,也就是

 $(“.test-btn”).off(“click”); //解除绑定点击事件

 $(".test-btn").unbind("click");//移除绑定点击事件

$(".test-btn").unbind(); //移除所有绑定事件

 

##如何可以的情况下,可以使用jquey的  $.click(function(){})

##用此种方法绑定的事件在测试中未出现多次绑定的情况,

##推测测可能是对单个对象使用会覆盖原先的执行事件。

posted @ 2017-03-21 10:15  Ramesses  阅读(3371)  评论(0编辑  收藏  举报