Open webstermobile opened 4 years ago
我是这么解决的,用的是VUE,在router/index.js里加上这段:
router.beforeEach((to, from, next) => {
//路由发生变化时强制关闭Weui弹窗
let mask = document.getElementsByClassName("weui-mask")[0];
if (mask) {
let doms = ['picker', 'dialog', 'actionsheet'];
for (let d of doms) {
let dom = document.getElementsByClassName(`weui-${d}`)[0];
if (dom) {
let e = document.createEvent("MouseEvents");
let a = document.getElementsByClassName(d == 'actionsheet' ? 'weui-mask' : `weui-${d}__btn`)[0]
e.initEvent("click", true, true);
a.dispatchEvent(e);
}
}
}
next();
});
alert以后,如果不手动点击确定,路由改变的时候alert弹窗还是存在