data-backdrop="static" data-keyboard="false" //write this attributes in that button where you click to open the modal popup.
6
另一个选项是,如果您不知道模态是否已经打开,并且您需要配置模态选项:
var $modal = $('#modal');
var keyboard = false; // Prevent to close by ESC
var backdrop = 'static'; // Prevent to close on click outside the modal
if(typeof $modal.data('bs.modal') === 'undefined') { // Modal did not open yet
$modal.modal({
keyboard: keyboard,
backdrop: backdrop
});
} else { // Modal has already been opened
$modal.data('bs.modal').options.keyboard = keyboard;
$modal.data('bs.modal').options.backdrop = backdrop;
if(keyboard === false) {
$modal.off('keydown.dismiss.bs.modal'); // Disable ESC
} else { //
$modal.data('bs.modal').escape(); // Resets ESC
}
}
13 回答
这是最简单的一个
您可以定义模态行为,定义数据键盘和数据背景 .
在我的应用程序中,我使用下面的代码来通过jQuery显示Bootstrap模式 .
您可以使用
更改默认行为 .
在选项章节中,在您链接的页面中,您可以看到
backdrop
选项 . 传递值为'static'
的此选项将阻止关闭模态 .正如@PedroVagner指出评论,你也可以传递
{keyboard: false}
以防止按Esc关闭模态 .如果你用js打开模态,请使用:
如果您使用的是数据属性,请使用:
您可以使用以下属性:
data-backdrop="static"
或使用javascript:也看到这个答案:Disallow twitter bootstrap modal window from closing
结帐本::
有两种方法可以禁用bootstrap模型区域外的click以关闭模态 -
另一个选项是,如果您不知道模态是否已经打开,并且您需要配置模态选项:
对我有用的解决方案如下:
background:禁用click outside事件
键盘:禁用scape关键字事件
对我来说,bootstrap模态和jQuery模式之间存在混淆 . 这样做了(对于jQuery modal)
根据您的屏幕宽度添加以下css .
您也可以在不使用JQuery的情况下执行此操作,如下所示:
TLDR
backdrop: 'static'
https://getbootstrap.com/docs/3.3/javascript/#modals-options