Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Twitter bootstrap 引导4模式隐藏不工作_Twitter Bootstrap_Bootstrap Modal_Bootstrap 4 - Fatal编程技术网

Twitter bootstrap 引导4模式隐藏不工作

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[工作]:

在Bootstrap v3.3.7中,下面的代码可以正常工作。由于某种原因,我最近尝试升级到Bootstrap v4.0.0-beta.2版

我正在做的是显示一个模态div,它有一个微调器。然后我去加载页面的其余部分,当加载完页面的其余部分后,我关闭modal div。在v3中工作正常,在v4中不再工作。但是,我可以打开控制台并运行$(“#divload”).modal('hide');然后潜水艇就消失了

小提琴助推器RAP v4[断开]:
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');
    })
}