Un autre point de vue sur cette question. (J'utilise la version 3.3.6 de bootstrap.js)
Je me suis trompé d'initialiser le modal à la fois manuellement en javascript:
$('#myModal').modal({
keyboard: false
})
et en utilisant
data-toggle="modal"
dans ce bouton comme l'exemple ci-dessous (montré dans le document)
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">Launch demo modal</button>
de sorte que le résultat sa créer deux instances de
<div class="modal-backdrop fade in"></div>
ajouter au corps de mon html lors de l'ouverture du modal. Cela peut être la cause lors de la fermeture du modal en utilisant la fonction:
$('#myModal').modal('hide');
il supprime une seule instance de toile de fond (comme indiqué ci-dessus) afin que la toile de fond ne disparaisse pas. Mais il a disparu si vous utilisez data-dismiss="modal"
add on html comme le montre le doc bootstrap.
Donc, la solution à mon problème est d'initialiser uniquement le modal manuellement en javascript et de ne pas utiliser d'attribut de données. De cette façon, je peux à la fois fermer le modal manuellement et en utilisant des data-dismiss="modal"
fonctionnalités.
J'espère que cela vous aidera si vous rencontrez le même problème que moi.
$('#myModal').modal('hide')
? Pouvez-vous mettre du code ici?