引导模式:关闭模式并从 DOM 中删除

Mas*_*r_T 0 javascript jquery bootstrap-modal twitter-bootstrap-3

我有一个页面,我想关闭一个bootstrap 3模态,然后从 DOM 中删除模态本身。

所以,我试图这样做:

let modal = $('#myModal');
modal.modal('hide');
modal.remove();
Run Code Online (Sandbox Code Playgroud)

问题是这个解决方案关闭了模态弹出窗口本身,但在页面上留下了变暗的半透明背景。我怀疑这是因为在关闭动画完成之前模态被从页面中删除。

我知道我可以设置一个计时器等待一段时间并确保模式在从 DOM 中删除它之前已经关闭,但我想知道的是:是否有更“正确”的方式不依赖于任意计时器?

Smi*_*val 5

你可以试试这个代码。

引导程序 3

$('#myModal').on('hidden.bs.modal', function () {
    $('#myModal').remove();
});
Run Code Online (Sandbox Code Playgroud)

引导程序 2.3.2

$('#myModal').on('hidden', function () {
    $('#myModal').remove();
});
Run Code Online (Sandbox Code Playgroud)

该事件将在模态关闭后触发。