防止Bootstrap模态消失,当点击外面或按逃生?

我正在使用Twitter Bootstrap模式作为向导窗口,并希望阻止用户在单击模式外或按下转义时closures它。 相反,我希望它在用户按下完成button时closures。 我怎么能实现这种情况?

如果使用JavaScript,则:

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

如果HTML:

 <a data-controls-modal="your_div_id" data-backdrop="static" data-keyboard="false" href="#"> 

在你的div模式data-backdrop="static"工作, data-backdrop="static"以点击和data-keyboard="false" Esc的:

 <div id="idModal" class="modal hide" data-backdrop="static" data-keyboard="false"> 

只需将data-backdrop="static"data-keyboard="false"属性添加到该模式即可。

例如。

 <a data-controls-modal="your_div_id" data-backdrop="static" data-keyboard="false" href="#"> 

您可以使用下面的代码

 $.fn.modal.prototype.constructor.Constructor.DEFAULTS.backdrop = 'static'; 

改变默认行为。

 jQuery('#modal_ajax').modal('show', {backdrop: 'static', keyboard: false}); 
 <button class="btn btn-primary btn-lg" data-backdrop="static" data-keyboard="false" data-target="#myModal" data-toggle="modal"> 

如果你需要禁用点击外部,但启用按下转义

  $( '#myModal')。模态({
    背景:“静态”,/ /这禁用点击外部事件
     keyboard:true //这是键盘事件
 }) 

你的代码正在工作,当我点击侧模式,但如果我使用模态身体内的HTML input字段然后集中你的光标在该input,然后按esc键模式已closures。 点击这里

以下脚本适用于我:

 // prevent event when the modal is about to hide $('#myModal').on('hide.bs.modal', function (e) { e.preventDefault(); e.stopPropagation(); return false; }); 

我使用这些属性,它的工作原理, data-keyboard="false" data-backdrop="static"

 <div class="modal show"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">Modal title</h4> </div> <div class="modal-body"> <p>One fine body&hellip;</p> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> 

我认为这codepen可以帮助你防止模式closuresCSS和引导