Jquery 中的自定义警报不会等待并返回单击事件



过去几个月我一直在研究jquery,喜欢在上面做新的事情。

最近,我使用

我制作的模式弹出窗口(使用语义 ui,而不是使用 jquery ui)陷入自定义警报......

我想执行一个点击事件(效果很好)。但在此之前,我想调用此自定义警报

我制作的自定义警报是

function confirmAlert(msg,OnSuccess){
  $('<div style="width:30%;height:15%;margin-left:-15em;" align="center" id="divretwhlsucc" class="ui tiny modal"> <div class="content"> <i class="checkmark big green box icon"></i>'+msg+'</div> <div class="actions"> <div class="ui black deny button">No</div><div class="ui positive right icon button">OK</div></div></div/>')
  .modal({
    closable  : false,
    onDeny    : function(){
    },
    onApprove : function() {
      return true;
    }
  })
  .modal('show');
}

当我尝试完善点击事件时会弹出此模式(如下所示)

$("#btnwhlsuppdel").click(function(){
      debugger;
      confirmAlert("Are you sure you want to delete?",function(){
          debugger;
          var a = [];
          var info = [];
          var cboxes = $('input[name="suppcheck[]"]:checked');
          var len = cboxes.length;
          for (var i=0; i<len; i++) {
            a[i] = cboxes[i].value;
            $("#hiddwhlsuppgrp").val(a);
          }
        });
      });

现在,即使我触发事件,它也不会等待自定义警报上的onApproval函数,而是直接执行。

我希望 customAlert 的行为类似于,如果我批准要执行的操作,请单击事件应该触发,否则它应该返回 false。

非常感谢对此

的任何答案,因为我会在 Jquery 中学到更多!!

谢谢!

你可以试试波纹管。在此代码中,您需要将成功函数分配给 onApproved 回调。

function confirmAlert(msg,OnSuccess){
  $('<div style="width:30%;height:15%;margin-left:-15em;" align="center" id="divretwhlsucc" class="ui tiny modal"> <div class="content"> <i class="checkmark big green box icon"></i>'+msg+'</div> <div class="actions"> <div class="ui black deny button">No</div><div class="ui positive right icon button">OK</div></div></div>')
  .modal({
    closable  : false,
    onDeny    : function(){
    },
    onApprove : OnSuccess
  })
  .modal('show');
}
$("#btnwhlsuppdel").click(function(){      
      confirmAlert("Are you sure you want to delete?",function(){         
          var a = [];
          var info = [];
          var cboxes = $('input[name="suppcheck[]"]:checked');
          var len = cboxes.length;
          for (var i=0; i<len; i++) {
            a[i] = cboxes[i].value;
            $("#hiddwhlsuppgrp").val(a);
          }
        });
      });

最新更新