jQuery的生活点击火灾不止一次

问题描述:

我有这样的代码AJAX页面上的搜索点击:jQuery的生活点击火灾不止一次

$.ajax({ 
    url: "ClientsList.asp", 
    type: "POST", 
    data: "name=" + Name + "&org=" + Org + "&job=" + Job + "&type=" + Type, 
    success: function(msg){ 
     $("#SRP").html(msg); 
     $("#Loading").fadeOut("noraml",function(){ 
      $("#SRP").fadeIn(); 
     }); 

    } 
}); 

然后加载内容我有我需要赶上复选框,所以我做这个代码

$(".SearchResultSelectBox").live("click", function(event) { 
    $(this).is(":checked") ? DoCheckSelect($(this).attr("rel")) : unDoCheckSelect($(this).attr("rel")); 
}); 

我第一次搜索并从ajax得到结果页面时,复选框工作得很好。我第二次使用搜索时,每次点击都是双倍的。使用AJAX的第三次,每次直播点击增至三倍等等...

我尝试“返回false”,但随后工作,但该复选框不会获得任何点击

可以做些什么?

从来没有想过!我有一个错误,我有第二组的函数的第一个内部所以每次我做了搜索功能的时间我做直播的点击里面的功能再次

+0

你叫'活()'不止一次?如果不是,则在'click()'例程中尝试'event.stopPropagation();'。 – Orbling 2011-04-02 13:57:49

+0

那么你不止一次地打电话给它。轻松完成。 – Orbling 2011-04-02 14:02:04

+0

如果每次加载内容时都调用'live()'函数,则会错过“live”这一点。你应该只注册一次实时事件,然后每当你刷新html时,它就会通过它。 – yoavmatchulsky 2011-04-02 14:03:13

可尝试使用

解除绑定( '点击');

,并再次将其绑定每个Ajax请求

尝试

event.stopPropagation(); 

$(".SearchResultSelectBox").live("click", function(event) { 
    $(this).is(":checked") ? DoCheckSelect($(this).attr("rel")) : unDoCheckSelect($(this).attr("rel")); 
    event.stopPropagation(); 
});