Bootstrap модальный фон = 'static' не работает

во-первых, я открываю свой модальный, используя это:

$('#myModal').modal('show');

тогда, в другой ситуации, мне нужно, чтобы этот же модальный не закрывался при нажатии ESC / щелчка снаружи, поэтому я использую это:

$('#myModal').modal({
    backdrop: 'static',
    keyboard: false
})

но как только я открываю свой модальный первый метод, второй не работает. Есть намеки?

как я могу законную силу backdrop значение ключа?

3 ответов


Я нашел обходной путь для этой проблемы.

Как только модальные данные были скрыты, загрузочные данные все еще остаются на нем. Чтобы предотвратить это, у меня было следующее:

$('#myModal').modal('show'); //display something
//...

// if you don't want to lose the reference to previous backdrop
$('#myModal').modal('hide'); 
$('#myModal').data('bs.modal',null); // this clears the BS modal data
//...

// now works as you would expect
$('#myModal').modal({backdrop:'static', keyboard:false});

аналогично Даниэле Пиччони но немного более кратким:

$('#myModal').modal({backdrop: true, keyboard: false, show: true});
$('#myModal').data('bs.modal').options.backdrop = 'static';

Это Bootstrap 3.+

Читайте также: измените модальную опцию Bootstrap, как только она уже существует


У меня была такая же проблема с Bootstrap 4.1.1, и она работала только тогда, когда я добавил атрибуты данных в html

<div class="modal fade show" id="myModal" tabindex="-1" role="dialog"
  style="display: block;" data-keyboard="false" data-backdrop="static">
...