我的工作是使用javascript bootstrap 2.0.4
我正在寻找一种通过逻辑控制从关闭中取消模态的方法。 但我找不到任何细节如何做到这一点
http://getbootstrap.com/javascript/#modals
类似于.NET
OnWindowClosing(eventArguement)
{
if (shouldCancel) {
eventArguement.Cancel = true;
return;
}
}
答案 0 :(得分:43)
请看这里:www.bootply.com/QTTDf3zRgV
在这个例子中,如果选中复选框,则无法关闭模态(使用js / jquery):
$('#myModal').on('hide.bs.modal', function(e){
if( $('#block').is(':checked') ) {
e.preventDefault();
e.stopImmediatePropagation();
return false;
}
});
答案 1 :(得分:4)
e.cancel
未定义并导致错误 - 这就是上述解决方案有效的原因。
您应该添加e.stopImmediatePropagation();
答案 2 :(得分:4)
您提供的解决方案无法正常工作,因此找到这个并且是完美的解决方案 参考此处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;
}