打开时更改Bootstrap模态背景设置

我正在尝试将我的模态的背景设置更改为“静态”作为对事件的响应,以便它变得不可忽略。 我在点击模态内的按钮后设置了$('#myModal').modal({ backdrop: 'static',keyboard:false }) ,但没有运气。

我想要的效果类似于nakupanda的bootstrap-dialog的效果(参见Manipulating Buttons部分,当dialog.setClosable(true);在点击’Click to disable and spin’按钮时触发,模态不再可关闭)

请看这个jsfiddle 。

我知道这个问题已在这里提出,但它没有正确的答案。 我知道这有可能以某种方式,但我无法分析nakupanda的代码。

尝试更改modal的选项如下:

 $('#myModal').data('bs.modal').options.backdrop = 'static'; 

这是工作示例

对于试图在v4上执行此操作的任何人,您需要更改:

 $("#myModal").data('bs.modal').options.backdrop = 'static'; 

 $("#myModal").data('bs.modal')._config.backdrop = 'static'; 

为什么不在页面加载时使用选项而不是单击按钮来初始化模态?

只需定义一个文件就绪fn并将下面的代码放入其中。

 $('#myModal').modal({ backdrop: 'static', keyboard: false }) 

你可以试试这样的东西: http : //codepen.io/bwobst/pen/GrKBKy?edit = 1010

 $('#open-modal').click(function(evt) { $('#myModal').modal({backdrop: 'static'}); $('.modal button').prop('disabled', true); }); 

当您单击“打开模态”按钮时,它会将背景设置为静态并禁用模式中的按钮。

我想出了一个解决方案。 问题是即使您将背景设置为静态,仍然有一个点击监听器。

我的解决方案在这里。 https://jsfiddle.net/25zbf094/2/

JavaScript的

 $('#makeIndismissable').click(function(){ $('#myModal').prop('onclick',null).off('click'); }); $('#close').click(function(){ $('#myModal').modal("hide") }) 

我保持HTML大部分未更改,但在关闭按钮中添加了“关闭”的ID。 正如您在上面所看到的,您仍然可以通过按右上角的X来关闭模态。