2016-08-16 72 views
0

我有這樣的功能:如何在窗口彈出時停止執行代碼?

this.foo = function (old, newVal) { 
     $('#myModal').modal('show'); 

     var f = "ddd"; 
     var oldval = old; 
     var newVal = newVal; 
    } 

正如你可以看到調用的函數裏面的窗口彈出。

下面窗口的定義:

<!-- Modal --> 
<div class="modal fade" id="myModal" role="dialog"> 
    <div class="modal-dialog"> 
     <!-- Modal content--> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Yes</button> 
     <button type="button" class="btn btn-default" data-dismiss="modal">No</button>  
    </div> 
</div> 

我需要彈出窗口,只有用戶後,點擊「YES」或「NO」在彈出的對話框此行中foo()功能執行(即我需要以延遲彈出):

var f = "ddd"; 
    var oldval = old; 
    var newVal = newVal; 

任何想法我怎麼能實現它?

+0

只有在用戶點擊了尚未彈出的窗口時才能彈出窗口? – mplungjan

+0

只需製作第二個功能,並通過單擊是/否來調用它。處理該點擊的代碼不應與顯示彈出窗口模式的代碼具有相同的功能。 – Shilly

回答

1

應該有不同的方法來解決這個問題,下面是一個給你一個想法的例子。基本上你可以使用模態的shownhidden事件來實現。

假設有你的模式按鈕ID爲btn_ok,然後在shown事件回調,綁定到該按鈕的onclick事件並分配值將在hidden事件回調進行評估時(模態消失)的變量。

this.foo = function (old, newVal) { 
     var m = $('#myModal'); 
     var btn_ok_selected = false; 

     m.on('shown.bs.modal', function() { 
      var btn_ok = m.find('#btn_ok'); 

      btn_ok.click(function() { 
       btn_ok_selected = true; 
      }); 
     }); 

     m.on('hidden.bs.modal', function() { 
      if (btn_ok_selected === true) { 
       var f = "ddd"; 
       var oldval = old; 
       var newVal = newVal; 

       // more code here 

      } 
     }); 

     m.modal('show'); 

    }