2017-01-03 2 views
1

私は過去数ヶ月のjqueryに取り組んでいて、新しいことを好きでした。Jqueryのカスタムアラートは、クリックイベントを待つことなく返します

最近、私は、私は(jqueryのUIを使用していない、意味的なUIを使用して)作ったことモーダルポップアップを使用してカスタムアラートに貼り付けています....

私は(完璧に動作します)クリックイベントを実行したいです..butその前に、私は私が作ったこのカスタムアラートの

カスタムアラートを呼び出すと思った私は(下記書かれている)クリックイベント

を完璧にしようとすると、このモーダルがポップアップ

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); 
      } 
     }); 
     }); 

今、イベントをトリガーする場合でも、customAlertのonApprove関数を待つことなく、直接実行します。

私は、実行するアクションを承認すると、clickイベントがトリガーされるか、そうでない場合はfalseを返すように、customAlertが動作するようにしたいと考えました。

私はJqueryでもっと学ぶので、これに対する答えは非常に感謝しています!

ありがとうございました!

+0

http://stackoverflow.com/questions/3519861/yes-or-no-confirm-box-using-jquery – Bharat

+0

多分あなたは...ここ – Bharat

+0

ソリューションを実現したいか:あなたは2つのダイアログをしなければなりません1つはアクションを承認し、2つ目は承認後に表示されます。 –

答えて

0

次のように試してみることができます。このコードでは、成功する関数をonApproveコールバックに割り当てる必要があります。

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); 
      } 
     }); 
     }); 
+0

は機能しませんでした。努力してくれてありがとう –

関連する問題