您可以使用以下属性: data-backdrop="static" 或使用javascript:
data-backdrop="static"
$('#myModal').modal({ backdrop: 'static', keyboard: false // to prevent closing with Esc button (if you want this too) })
也看到这个答案: 禁止关闭twitter bootstrap模式窗口
这是最简单的一个
您可以定义模态行为,定义数据键盘和数据背景。
<div id="modal" class="modal hide fade in" data-keyboard="false" data-backdrop="static">
您也可以在不使用JQuery的情况下执行此操作,如下所示:
<div id="myModal"> var modal = document.getElementById('myModal'); modal.backdrop = "static"; modal.keyboard = false;
在我的应用程序中,我使用下面的代码来通过jQuery显示Bootstrap模式。
$('#myModall').modal({ backdrop: 'static', keyboard: true, show: true });
有两种方法可以禁用bootstrap模型区域外的点击以关闭模态 -
的 使用javascript 强>
$('#myModal').modal({ backdrop: 'static', keyboard: false });
的 在HTML标记中使用数据属性 强>
data-backdrop="static" data-keyboard="false" //write this attributes in that button where you click to open the modal popup.
结帐本::
$(document).ready(function() { $("#popup").modal({ show: false, backdrop: 'static' }); $("#click-me").click(function() { $("#popup").modal("show"); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.1/css/bootstrap.css" rel="stylesheet"/> <script src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.1.0/css/bootstrap-combined.min.css" rel="stylesheet"> </head> <body> <div class="modal" id="popup" style="display: none;"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">脳</button> <h3>Standard Selectpickers</h3> </div> <div class="modal-body"> <select class="selectpicker" data-container="body"> <option>Mustard</option> <option>Ketchup</option> <option>Relish</option> </select> </div> <div class="modal-footer"> <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> <button class="btn btn-primary">Save changes</button> </div> </div> <a id="click-me" class="btn btn-primary">Click Me</a> </body> <script type="text/javascript" src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.1.0/js/bootstrap.min.js"></script> </html>
backdrop: 'static'
https://getbootstrap.com/docs/3.3/javascript/#modals-options
指定 static 对于不关闭点击模式的背景。
static
对我有用的解决方案如下:
$('#myModal').modal({backdrop: 'static', keyboard: false})
background:禁用click outside事件
键盘:禁用scape关键字事件
您可以使用
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.backdrop = 'static'; $.fn.modal.prototype.constructor.Constructor.DEFAULTS.keyboard = false;
更改默认行为。
根据您的屏幕宽度添加以下css。
@media (min-width: 991px){ .modal-dialog { margin: 0px 179px !important; } }
对我来说,bootstrap模态和jQuery模式之间存在混淆。这样做了(因为 jQuery模式 )
$("#sticky").modal({ escapeClose: false, clickClose: false, showClose: false });
另一种选择,如果您不知道模态是否已经打开,您需要配置模态选项:
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 } }
You can Disallow closing of #signUp (This should be the id of the modal) modal when clicking outside of modal. As well as on ESC button. jQuery('#signUp').on('shown.bs.modal', function() { jQuery(this).data('bs.modal').options.backdrop = 'static';// For outside click of modal. jQuery(this).data('bs.modal').options.keyboard = false;// For ESC button. })