微信小程序基础框架设计及关闭弹窗
通常弹窗设计包含两个部分:遮罩层和主体区两部分
当我们在遮罩层设置点即可关闭弹窗的时候,希望的是主体外的遮罩部分响应,主体内的部分点击无效,若直接在遮罩层使用点击事件 无论是使用 bindtap="" 还是 catchtap="" 点击主体部分都会导致弹窗关闭,这是因为主体包含在遮罩层内,由于事件冒泡机制,点击主体后事件向上冒泡触发遮罩层的关闭事件,导致弹窗关闭,这是我们不希望的。
因此,我们可以在主体部分加上一个点击阻止冒泡事件(主体使用catchtap=“default” )
实现代码如下:
/*wxml部分*/
<view class="cover-master" catchtouchmove catchtap="close">
<!-- 主体 -->
<view class="pop_center" catchtap="default">
<!-- 内容 -->
</view>
</view>
/*wxss部分*/
/* 遮罩层 */
.cover-master {
position: fixed;
left: 0px;
top: 0px;
background: rgba(0, 0, 0, 0.4);
width: 100%;
height: 100%;
z-Index: 100;
display: