Twitter bootstrap 引导4模式隐藏不工作
在Bootstrap v3.3.7中,下面的代码可以正常工作。由于某种原因,我最近尝试升级到Bootstrap v4.0.0-beta.2版 我正在做的是显示一个模态div,它有一个微调器。然后我去加载页面的其余部分,当加载完页面的其余部分后,我关闭modal div。在v3中工作正常,在v4中不再工作。但是,我可以打开控制台并运行$(“#divload”).modal('hide');然后潜水艇就消失了 小提琴助推器RAP v4[断开]:Twitter bootstrap 引导4模式隐藏不工作,twitter-bootstrap,bootstrap-modal,bootstrap-4,Twitter Bootstrap,Bootstrap Modal,Bootstrap 4,在Bootstrap v3.3.7中,下面的代码可以正常工作。由于某种原因,我最近尝试升级到Bootstrap v4.0.0-beta.2版 我正在做的是显示一个模态div,它有一个微调器。然后我去加载页面的其余部分,当加载完页面的其余部分后,我关闭modal div。在v3中工作正常,在v4中不再工作。但是,我可以打开控制台并运行$(“#divload”).modal('hide');然后潜水艇就消失了 小提琴助推器RAP v4[断开]: FIDDLE Bootstrap v3[工作]:
FIDDLE Bootstrap v3[工作]:
加载div实际div有一个微调器,但不需要显示错误
Javascript:
<script type="text/javascript">
$(function () {
showLoading();
//do some work then hide
hideLoading();
});
function showLoading() {
$('#divLoading').modal({
backdrop: 'static',
keyboard: false
});
}
function hideLoading() {
$("#divLoading").modal('hide');
}
</script>
$(函数(){
showLoading();
//做些工作然后躲起来
hideLoading();
});
函数showLoading(){
$('#divLoading').model({
背景:“静态”,
键盘:错误
});
}
函数hideLoading(){
$(“#divload”).modal('hide');
}
模态是以异步方式创建的,但您正在以同步方式调用showLoading()
和hideLoading()
函数。您可以检查模式是否已经显示在hideLoading函数中,如下所示:
function hideLoading() {
$('#divLoading').on('shown.bs.modal', function (e) {
$("#divLoading").modal('hide');
})
}
我认为这与异步方法有关。当模态处于转换状态时,无法触发hide方法。因此,听起来好像在模态完全显示之前调用了hideLoading()?使用提供的解决方案,仅当所有页面加载功能都发生在显示模式之前时才起作用。是否有一种解决方案可以同时考虑这两种情况?回答我自己在hideLoading()函数上面的问题可能如下所示。但是有更好的方法吗?
函数hideLoading(){$('#divload').on('show.bs.modal',函数(e){$(“#divload”).modal('hide');})$(“#divload”).modal('hide');}因为调用堆栈在javascript中是如何工作的,hideLoading将始终在异步创建模式之前调用。因此,在显示模式之前,回调将始终添加到“show.bs.modal”事件中。
function hideLoading() {
$('#divLoading').on('shown.bs.modal', function (e) {
$("#divLoading").modal('hide');
})
}