Модал начальной загрузки не закрывается на modal.hide () - PullRequest
0 голосов
/ 20 апреля 2019

Я показываю загрузочный GIF на сайте, используя модал начальной загрузки, пока программа ожидает запрос jquery.ajax. На ajaxSend я отображаю модал, а на ajaxStop я хочу закрыть его, но это не так.

Вот две функции

$(document).ajaxSend(function(e, xhr, opt){
    console.log("starting");
    $('#ModalEingeloggtLaden').modal({//prevent modal to be closed by user
        backdrop: 'static',
        keyboard: false
    });
    var modal = $("#ModalEingeloggtLaden");
    modal.modal();
});
$(document).ajaxStop(function(){
    console.log("done");
    var modal = $("#ModalEingeloggtLaden");
    modal.modal("hide");
    console.log("hidden");
});

Если вам нужно узнать больше кода, просто скажите мне.

Моя идея заключалась в том, что две функции вызываются слишком рано, поэтому модал не виден при вызове второй функции, поэтому его нельзя сделать невидимым. Если это может быть проблемой, у кого-нибудь есть идеи, как ее решить?

Заранее спасибо.

EDIT

Я посмотрел в консоли, и похоже, что загрузочный gif загружается после закрытия модального режима, но я не знаю, как это изменить ...

РЕШЕНИЕ

$(document).ajaxStart(function(e, xhr, opt){
    $('#ModalEingeloggtLaden').modal({//Verhindern, dass Laden Symbol weggedrückt wird
        backdrop: 'static',
        keyboard: false
    });
    var modal = $("#ModalEingeloggtLaden"); //Modal zum bestätigen setzen
    modal.modal("show");
});
$(document).ajaxStop(function(){
    var modal = $("#ModalEingeloggtLaden"); //Modal zum bestätigen setzen
    modal.on('shown.bs.modal', function (e) {
        modal.modal("hide");
    });
});

Просто ожидание показанного события, прежде чем скрыть модал, работает отлично.

1 Ответ

0 голосов
/ 21 апреля 2019

Я просто пытаюсь найти решение здесь.Но в любом случае, похоже, что вы уже нашли решение.Пожалуйста, найдите ниже:

https://plnkr.co/edit/ymIV4pXM5EUEjzgNkLEU?p=preview

[https://plnkr.co/edit/ymIV4pXM5EUEjzgNkLEU?p=preview][1]
...