Согласно документации .modal('dispose'), уничтожает модальный файл.
.modal('dispose')Destroys an element’s modal.
Но когда я создаю eventListener, используя
$('#myModal').on('hidden.bs.modal', function (event) {
// Destroy modal
$('#myModal').modal('dispose');
});
Модальное окно по-прежнему является частью документа. Документация меня смущает, разве этот метод не используется для удаления модального окна из документа? Какова цель этого метода?
$('#myModal').modal('show');
$('#myModal').on('hidden.bs.modal', function (event) {
console.info('Destroy modal');
$('#myModal').modal('dispose');
});<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel = "stylesheet" integrity = "sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin = "anonymous">
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.bundle.min.js" integrity = "sha384-u/bQvRA/1bobcXlcEYpsEdFVK/vJs3+T+nXLsBYJthmdBuavHvAW6UsmqO2Gd/F9" crossorigin = "anonymous"></script>
<div class = "modal" tabindex = "-1" role = "dialog" id = "myModal">
<div class = "modal-dialog" role = "document">
<div class = "modal-content">
<div class = "modal-header">
<h5 class = "modal-title">Modal title</h5>
<button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close">
<span aria-hidden = "true">×</span>
</button>
</div>
<div class = "modal-body">
<p>Modal body text goes here.</p>
</div>
<div class = "modal-footer">
<button type = "button" class = "btn btn-primary">Save changes</button>
<button type = "button" class = "btn btn-secondary" data-dismiss = "modal">Close</button>
</div>
</div>
</div>
</div>
Он уничтожает экземпляр jQuery модального компонента Bootstrap. Он не удаляет модальную разметку из DOM.
Эту часть awnser действительно стоит добавить в документацию
It destroys the jQuery instance of the Bootstrap's Modal component