Bootstrap modal关闭并删除后残留遮罩层

问题描述

一个网页中Bootstrap4的modal点击确定时设置hide并且删除对应的HTML。实际运行发现点击确定后页面回残留灰色遮罩层,且屏幕无法滑动。

原因

代码走到$('#' + MODAL_ID').modal("hide")后,下一行就是删除HTML的方法调用。

$('#' + MODAL_ID).modal("hide");
// 已拿到data,删除所有相关HTML
removeHTML();

猜测可能是由于Bootstrap中modal的hide方法是异步的,未执行完毕时突然删除HTML导致有遮罩层残留。

解决方案

将删除HTML的方法调用也设置为异步,并延迟200ms执行。(100好像不行)
将上述代码修改为:

setTimeout('removeHTML()', 200);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。