2014-03-06 58 views
2

我試圖阻止引導-3模式在沒有警告的情況下關閉,當對模式內的窗體進行更改時。但是,當我聽到模態觸發的事件並返回false時,它將阻止模態永遠關閉。這裏是我的代碼:當窗體發生變化時阻止引導-3模式關閉

$(function() { 
    $('body').live('shown.bs.modal', '#quickbutton-create', function() { 
     $(this).find('#quickbutton-create form').monitor(); 
    }); 

    $('body').live('hide.bs.modal', '#quickbutton-create', function() { 
     if ($(this).find('#quickbutton-create form').monitor('has_changed')) { 
      if (!confirm('Are you sure?')) { 
       return false; 
      } 
     } 
    }); 
}); 

所以簡而言之,在這種情況下,我如何防止模式關閉一次。

回答

6

好了,所以我想通了,而不是返回假,我需要event.preventDefault()

的jsfiddle這裏:http://jsfiddle.net/ACYBv/1/

$(function() { 
    $('.modal').on('shown.bs.modal, loaded.bs.modal', function(e) { 
     // set form state 
     $(this).data('form-data', $(this).find('form').serialize()); 
    }); 

    $('.modal').on('hide.bs.modal', function(e) {   
     // check if the form data was changed since the modal was openened 
     if($(this).data('form-data') != $(this).find('form').serialize()) { 
      if(!confirm('you sure??')) { 
       e.preventDefault(); 
      } 
     } 
    }); 
}); 
相關問題