不弹出写法:
weui.confirm('是否',function(){
//逻辑行1
weui.alert('是');
//逻辑行2
},function(){
//逻辑行1
weui.alert('否');
//逻辑行2
});
解决办法:
weui.confirm('是否',function(){setTimeout(function(){
//逻辑行1
weui.alert('是');
//逻辑行2
},300)},function(){setTimeout(function(){
//逻辑行1
weui.alert('否');
//逻辑行2
},300)});
如果 weui.alert()之后还要weui.alert()或weui.confirm(),参照以下:
weui.confirm('是否',function(){setTimeout(function(){
//逻辑行1
weui.alert('是',function(){setTimeout(function(){
//逻辑行2
weui.alert('再弹',function(){setTimeout(function(){
//逻辑行3
},300)})
},300)})
},300)});
总结:
1 弹层有动画延时约300ms,貌似weui.alert()和weui.confirm()等共用同弹出层,没完成动画时调用会失效。
2 弹出的是层,不是窗口(不同于原生的alert)。所以是非阻塞(异步)的,点击后执行的代码要放在回调函数里。
3 逻辑里含有多次交换操作的,要分布在每次弹出后的回调函数里,以便看起来更像同步方式编程。