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