JQuery - Boostrap cancel show modal

JQuery - Boostrap cancel show modal

當按下按鈕前,需要做一些判斷再決定要不要顯示modal的區塊。

但因為用css與jquery已先做好了設定。

當你判斷後,他已經顯示了,

這時候,在先攔截的方式,網路有一個方法

http://stackoverflow.com/questions/21228880/javascript-bootstrap-modal-cancel-closing

$('#myModal').on('hide.bs.modal', function(e){
  if( $('#block').is(':checked') ) {
     e.preventDefault();
     e.stopImmediatePropagation();
     return false; 
   }
});

在我判斷有問題時候,先設定一個全域變數 canShowModal = false;

在由相關事件,判斷後,停止處理

    
    $('.form_modal').on('show.bs.modal', function(e) {
        if(canShowModal) {
            openModal = true;
            window.location.hash = openModalHashStateId;   
        } else {
            canShowModal = true;
            e.preventDefault();
            e.stopImmediatePropagation();
            return false; 
        }
    }); 

這樣就可以成功做攔截,不顯示出來