我的工作使用的是JavaScript Bootstrap 2.0.4
我正在寻找一种逻辑控制方式来取消模态框的关闭,但我无法找到如何实现的详细信息。
http://getbootstrap.com/javascript/#modals
类似于.NET。
OnWindowClosing(eventArguement)
{
if (shouldCancel) {
eventArguement.Cancel = true;
return;
}
}
我的工作使用的是JavaScript Bootstrap 2.0.4
我正在寻找一种逻辑控制方式来取消模态框的关闭,但我无法找到如何实现的详细信息。
http://getbootstrap.com/javascript/#modals
类似于.NET。
OnWindowClosing(eventArguement)
{
if (shouldCancel) {
eventArguement.Cancel = true;
return;
}
}
看这里:www.bootply.com/QTTDf3zRgV
在这个例子中,如果复选框被勾选,则模态框无法关闭(使用js/jquery):
$('#myModal').on('hide.bs.modal', function(e){
if( $('#block').is(':checked') ) {
e.preventDefault();
e.stopImmediatePropagation();
return false;
}
});
e.cancel()
未定义,请使用e.stopImmediatePropagation()
。 - barshe.cancel
并没有定义,因此会出现错误-这就是为什么上面的解决方案有效的原因。
您需要添加e.stopImmediatePropagation();
你提供的解决方案不起作用,所以我找到了这个,它是完美的解决方案。 请参考这里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;
}
hide.bs.modal.prevent
事件,就像你在 github issue 中提到的那样。这确实可以防止模态框关闭,但是当用户第二次尝试点击模态框外部时,它会在控制台记录一个错误:bootstrap.min.js Uncaught Error: Modal is transitioning
。 - Blaskovicz