我使用Twitter引导模式作为向导窗口,并希望防止用户在模式外单击或按下escape时关闭它。相反,我希望它在用户按下完成按钮时关闭。我如何实现这个场景?
当前回答
如果你需要关闭外面的点击,但允许按下退出
$('#myModal').modal({ backdrop: 'static', // This disable for click outside event keyboard: true // This for keyboard event })
其他回答
只需在该模式中添加data- background ="static"和data-keyboard="false"属性即可。
Eg.
<a data-controls-modal="your_div_id" data-backdrop="static" data-keyboard="false" href="#">
你也可以在引导模型中使用直接。
<div class="modal fade" id="myModal" data-keyboard="false" data-backdrop="static">
如果你需要在模态显示后进行设置,你可以使用@Nabid解决方案。然而,有时你仍然需要允许一些方法关闭模式。假设你有一个带有really-close-the-modal类的按钮,它应该真正关闭模式,你可以使用下面的代码(jquery):
var closeButtonClicked = false;
$('.really-close-the-modal').on('click', function () {
closeButtonClicked = true;
});
$('#myModal').on('hide.bs.modal', function (e) {
if (!closeButtonClicked) {
e.preventDefault();
e.stopPropagation();
return false;
}
closeButtonClicked = false;
});
这不是很好的代码设计,但它帮助我在一个情况下,模态显示加载器动画,直到ajax请求返回,只有那时我才能知道是否需要配置模态,以防止“隐式”关闭。您可以使用类似的设计来防止在仍在加载时关闭模式。
<button class='btn btn-danger fa fa-trash' data-toggle='modal' data-target='#deleteModal' data-backdrop='static' data-keyboard='false'></button>
只需将数据背景和数据键盘属性添加到打开的模型上的按钮。
如果使用JavaScript,那么:
$('#myModal').modal({
backdrop: 'static',
keyboard: false
})
在show的情况下
$('#myModal').modal({backdrop: 'static', keyboard: false}, 'show');
或HTML:
<a data-controls-modal="your_div_id" data-backdrop="static" data-keyboard="false" href="#">
推荐文章
- HTML的“nonce”属性用于脚本和样式元素的目的是什么?
- 我如何在HTML中创建一个泪滴?
- 在另一个js文件中调用JavaScript函数
- 字体很棒,输入类型为“submit”
- 我怎么能强迫一个长字符串没有任何空白被包装?
- 在哪里放置JavaScript在HTML文件?
- 如何在引导栏中居中内容?
- IE8问题推特引导3
- 是否有可能使一个div 50px小于100%在CSS3?
- 为什么CSS选择器/ HTML属性首选破折号?
- 如何在标题属性中转义双引号
- 在不使用LESS的情况下更改引导导航栏折叠断点
- Safari和Chrome桌面浏览器无法自动播放视频
- 自动高度
- 如何将JavaScript文件链接到HTML文件?