Javascript bootstrap modal - отменить закрытие

В моей работе используется javascript bootstrap 2.0.4

Я ищу способ отменить модальный от закрытия, с помощью логического управления. но я не могу найти никаких подробностей, как это сделать

http://getbootstrap.com/javascript/#modals

что-то вроде .NET

OnWindowClosing(eventArguement) 
{ 
    if (shouldCancel) {
      eventArguement.Cancel = true; 
      return;
    }
}

Ответы

Ответ 1

Посмотрите здесь: www.bootply.com/QTTDf3zRgV

В этом примере, если флажок установлен, модальный не может быть закрыт (с помощью js/jquery):

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

Ответ 2

e.cancel не определен и вызывает ошибку - почему решение выше работает.

Вы должны добавить e.stopImmediatePropagation();

Вот демо: http://www.bootply.com/o5jsyItQMm

Ответ 3

решение, которое вы предоставили, не работает, поэтому найдите это и его идеальное решение здесь https://github.com/twbs/bootstrap/issues/1202#issuecomment-48601320

$('#myModal').on('hide.bs.modal.prevent', closeModalEvent);
/**
* allow popup to hide or not
* @param {type} e
* @returns {Boolean}
 */
function closeModalEvent(e) {
    e.preventDefault();
    if ($('#block').is(':checked')) {
        $('#myModal').off('hide.bs.modal.prevent');
        $("#myModal").modal('hide');
        return true;
    }
    return false;
}