Javascript 在Jquery中,如何解除事件绑定

Javascript 在Jquery中,如何解除事件绑定,javascript,jquery,bootstrap-modal,Javascript,Jquery,Bootstrap Modal,当我单击“删除”并在确认框中说“否”时,当我再次尝试删除另一条记录时,上一条记录id将被发送到后端 我使用引导模式进行确认,下面是代码 <div class="modal text-xs-left" id="confirmBoxModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel33" aria-hidden="true"> <div class="modal-dialog modal-xs" role

当我单击“删除”并在确认框中说“否”时,当我再次尝试删除另一条记录时,上一条记录id将被发送到后端

我使用引导模式进行确认,下面是代码

<div class="modal text-xs-left" id="confirmBoxModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel33" aria-hidden="true">
<div class="modal-dialog modal-xs" role="document">
    <div class="modal-content">
        <div class="modal-body">
            <b>Are you sure ?</b>
        </div>
        <div class="modal-footer">
            <button class="btn btn-warning btn-xs" data-dismiss="modal"><i class="icon-cross2"></i> No</button>
            <button id="btnConfirmBoxDelete" type="submit" data-dismiss="modal" class="btn btn-primary btn-xs"><i class="icon-check2"></i> Yes</button>
        </div>

    </div>
</div>
在ajax成功中使用它

$("#btnConfirmBoxDelete").off("click");
它将解除单击事件的绑定

问题是可以多次添加一个。当您由于取消而不使用第一个时。。。将有两个,它们都会触发

您可以简单地使用数据将当前的deleteAgent id分配给模式,并分离事件侦听器

$(".deleteAgent").click(function(e) {

  var $buttonClicked = $(this);
  var id = $buttonClicked.attr('data-id');

  $('#confirmBoxModal').modal({
    backdrop: 'static',
    keyboard: false
  }).data('delete-id', id);

});

$('#btnConfirmBoxDelete').click(function(e) {
  var id = $('#confirmBoxModal').data('delete-id'):
    // make sure id exists before proceeding
    $.ajax({
      type: "get",
      url: 'url',
      contentType: "application/json; charset=utf-8",
      data: {
        "ID": id
      },
      //.....
    });
});

我尝试使用它,但无法使其工作,所以您可以用代码指导我听起来像一个-您不需要解除绑定,因为您没有绑定-您已经在使用.one.use$.deleteAgent.off'click'。on'click',函数e{/*您的代码*/};还可以通过单击2-3个元素进行调试,$this指的是单击的元素。问题似乎与deleteAgent有关,您的问题中没有包括deleteAgent。ie问题不在于删除,而在于启动删除。btnConfirmBoxDelete click上没有要关闭的单击事件,它与一个绑定
$(".deleteAgent").click(function(e) {

  var $buttonClicked = $(this);
  var id = $buttonClicked.attr('data-id');

  $('#confirmBoxModal').modal({
    backdrop: 'static',
    keyboard: false
  }).data('delete-id', id);

});

$('#btnConfirmBoxDelete').click(function(e) {
  var id = $('#confirmBoxModal').data('delete-id'):
    // make sure id exists before proceeding
    $.ajax({
      type: "get",
      url: 'url',
      contentType: "application/json; charset=utf-8",
      data: {
        "ID": id
      },
      //.....
    });
});