2016-05-14 124 views
1

你好我正在使用确认对话框来确保用户的操作。但是确认对话框不断出现,而我在代码中没有看到任何触发这个的东西。这是一个错误吗?还是我做错了什么?JavaScript确认对话框不断出现

$('#table_trans tbody').on('click', 'tr td button', function() { 
    var trans_id = $($(this).parents(':eq(1)')[0].childNodes[0]).html(); 
    var r = confirm("Sure!"); 

    if (r == true) { 
     $.ajax({ 
      url: '?r=transactions/ajaxdelete', 
      data: { 
       id: trans_id 
      }, 
      success: function(response) { 
       $.notify(response, "error"); 
      } 
     }); 
     $($(this).parents(':eq(1)')).remove(); 

    } else { 
     alert("Action Cancelled!"); 
    } 
}); 

还有一件事要补充,它只是有时会发生Javascript确认对话框不断出现。有时它的行为是正确的,有时会出现两次,但有时是无限的。

UPDATE

如所建议的通过Parag Bhayani,下面是增加了一个行表#table_trans

// msg的JavaScript通过调用Ajax

for (var i = 0, l = msg.length; i < l; i++) { 
        var rowz = "<tr><td>" + msg[i].id +"</td><td>"+msg[i].account_no+"</td><td>" + msg[i].date_of_transac +"</td><td>"+msg[i].description+"</td><td>"+msg[i].amount+"</td><td><button id=\"delete_trans\">Delete</button></td><tr>"; 
        tbl_html = tbl_html + rowz; 

      } 
接收的JSON响应

//对不起,不好意思....但是请滚动到最右边看到按钮,点击它触发事件。

+0

点击确认时它是如何出现的?您是否将所有相关代码添加到OP? – guradio

+0

此确认出现多少次? 你是否也会发送该事件注册的代码? –

+3

在这里,可能会导致此问题的一个案例,如果此事件注册代码在循环中,那么您的事件可能已注册n次,并且可能导致此问题 –

回答

1

只有当您的事件多次注册时才会发生这种情况,因此可能会导致此问题的一种情况是,事件注册代码处于循环状态,则您的事件可能已注册n次。

+0

请根据我所做的更新,添加关于我的代码的示例。因为StackOverflow在8分钟之前不允许接受:) –