Почему это событие jQuery ajax click срабатывает несколько раз?

Я пробовал отвязать событие щелчка, но иногда оно срабатывает дважды, иногда 5 раз !! Мне уже немного надоело!

Код из modal.asp

$("input[name=add_associate]").live("click",function(){
    var addassociateID = $(this).attr("id")

    $.ajax({
       type: 'POST',
       url: '/data/watchlist_save.asp',
       data: {m : 'share_watchlist_add', watchListID : <%=WatchListID%>, a : addassociateID},
       async:true,
       success: function(data) {
           $(".associate_users").load("/data/sub_watch_members.asp?watchListID=<%=WatchListID%>",
           {cache:false},function() {
               $(".search_note").html(data)         
               $(this).unbind('click').bind('click',handler);                                                                                                
           })
       },
       error: function(data){
           $(".search_note").html(data)
       }
    });     
})

ОБНОВЛЕНИЕ :
но срабатывает иногда дважды иногда 5 раз !! Теперь уже немного надоело!

Код из modal.asp

$("input[name=add_associate]").live("click",function(){
    var addassociateID = $(this).attr("id")

    $.ajax({
       type: 'POST',
       url: '/data/watchlist_save.asp',
       data: {m : 'share_watchlist_add', watchListID : <%=WatchListID%>, a : addassociateID},
       async:true,
       success: function(data) {
           $(".associate_users").load("/data/sub_watch_members.asp?watchListID=<%=WatchListID%>",
           {cache:false},function() {
               $(".search_note").html(data)         
               $(this).unbind('click').bind('click',handler);                                                                                                
           })
       },
       error: function(data){
           $(".search_note").html(data)
       }
    });     
})

ОБНОВЛЕНИЕ :
но срабатывает иногда дважды иногда 5 раз !! Теперь уже немного надоело!

Код из modal.asp

$("input[name=add_associate]").live("click",function(){
    var addassociateID = $(this).attr("id")

    $.ajax({
       type: 'POST',
       url: '/data/watchlist_save.asp',
       data: {m : 'share_watchlist_add', watchListID : <%=WatchListID%>, a : addassociateID},
       async:true,
       success: function(data) {
           $(".associate_users").load("/data/sub_watch_members.asp?watchListID=<%=WatchListID%>",
           {cache:false},function() {
               $(".search_note").html(data)         
               $(this).unbind('click').bind('click',handler);                                                                                                
           })
       },
       error: function(data){
           $(".search_note").html(data)
       }
    });     
})

ОБНОВЛЕНИЕ :
Обычно я вызываю следующий код в .associate_users

<div id="associate_list">
    <div class="associate_record">
        <div class="left" style="padding:8px;"><img src="../imgs/nopic-m.png" style="width:30px;height:30px;" class="img_border" /></div>
        <div class="left" style="padding-top:15px;">5)Neil Burton</div>
        <div class="right" style="padding-top:10px;margin-right:5px;"><input type="button" class="btn-blue" name="add_associate" id="890" value="Add"></div>
        <div style="clear:both;"></div>
    </div>
    <div style="clear:both;"></div>
</div>

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ :
Это происходит только тогда, когда я запускаю событие, закрываю модальное диалоговое окно, а затем снова открываю его с другим watchListID

СТРУКТУРА ДАННЫХ:

  • main.asp : LOADS>
  • модальным. asp : modal.asp содержит jquery сверху + два блока div на этой странице с данными panel1.asp и panel2.asp ...
  • panel1.asp : Содержит указанный выше HTML ...
  • panel2.asp : не содержит ничего связанного ... только чистый HTML.
19
задан Emil Sierżęga 21 August 2013 в 10:55
поделиться