uniapp 微信小程序uview2.0 u-popup弹出层弹出在遮罩层不影响卡片正常勾选的情况下实现点击空白区域关闭弹层

如图所示,在底部弹出层出现的时候希望点击卡片能够正常勾选。同时点击空白区域又可以关闭底部弹层,如果使用u-popup自带的遮罩层可以实现点击但是不可以实现勾选,实现勾选不能实现关闭。解决办法就是使用**@touchend.stop来代替点击事件,并在子元素上使用@touchend.stop**来阻止冒泡事件产生,附上代码大家可以参考。

html 复制代码
	<view class="container" @touchend.stop="endShake()">
		<view class="card-box">
			<u-checkbox-group shape="circle" @change="checkboxChange()" activeColor="#3d80fc" iconSize="32" size='32'>
				<view :class="['card-item', 'shadow', shake ? `shake-${item.runStatus}` : `status-${item.runStatus}`]"
					@touchstart.prevent="gtouchstart(item)" @touchend.stop="gtouchEnd(item)" @touchmove.stop="gtouchmove()"
					v-for="item in cardInfo" :key="item.id">
					<view class="info-box" v-if="!shake">
						<PowerChart :value="item.voltage" />
						<SignalChart :value="item.rssi" />
					</view>
					<view class="info-box" style="z-index: 99;" v-else>
						<u-checkbox :name="item.id"></u-checkbox>
					</view>
					<image :src="'/static/images/'+ item.imgpath" mode=""></image>
					<view>{{item.name}}</view>
					<view v-if="item.runStatus == 10" class="mask"></view>
				</view>
				<view class="card-add shadow" @touchend.stop="toAdd()">
					<image src="/static/images/card-add.png" mode=""></image>
					<view>添加设备</view>
				</view>
			</u-checkbox-group>
		</view>
		
		<!-- <u-popup :show="shake" :round="10" mode="bottom" :overlayOpacity="0" @close="closeShake"> -->
		<u-popup :show="shake" :round="10" mode="bottom" :overlay="false " @close="closeShake">
			<view class="bom-box">
				<view class="item-bom" @click="removeDevice()">
					<u-icon name="trash" size="36"></u-icon>
					删除
				</view>
				<view class="item-bom" @click="famshow()">
					<u-icon name="list" size="36"></u-icon>
					分配
				</view>
			</view>
		</u-popup>
		
		<u-popup :show="show" :round="10" mode="bottom" @close="close">
			<scroll-view @scrolltolower="onScrolltolower" class="scroll-view" scroll-y>
				<view class="item-txt" @click="famClick(item)" v-for="(item,index) in famList" :key="index">{{item.name}}</view>
			</scroll-view>
		</u-popup>

		<image class="bgimg" src="../../static/images/home-bg.png" mode=""></image>
		<m-tabbar v-if="!shake" fixed fill current="0" :tabbar="DefaultTabbarConfig"></m-tabbar>

	</view>
相关推荐
恩创软件开发5 小时前
创业日常2026-1-8
java·经验分享·微信小程序·小程序
腾讯云云开发13 小时前
微信发布AI小程序成长计划:免费云开发资源+1亿token额度!
微信小程序·ai编程·小程序·云开发
iOS阿玮13 小时前
AppStore卡审依旧存在,预计下周将逐渐恢复常态!
uni-app·app·apple
郑州光合科技余经理14 小时前
开发实战:海外版同城o2o生活服务平台核心模块设计
开发语言·git·python·架构·uni-app·生活·智慧城市
行走的陀螺仪15 小时前
在UniApp H5中,实现路由栈的持久化
前端·javascript·uni-app·路由持久化·路由缓存策略
影子打怪15 小时前
uniapp通过plus.geolocation.watchPosition获取的坐标格式转换
uni-app
忒可君15 小时前
2026新年第一篇:uni-app + AI = 3分钟实现数据大屏
前端·vue.js·uni-app
行走的陀螺仪15 小时前
UniApp 横向可滚动 Tab 组件开发详解
uni-app·封装组件·tabs·自定义封装组件·可滚动组件tab
00后程序员张15 小时前
在 iPhone 上进行 iOS 网络抓包的实践经验
android·ios·小程序·https·uni-app·iphone·webview
2501_9159184115 小时前
介绍如何在电脑上查看 iPhone 和 iPad 的完整设备信息
android·ios·小程序·uni-app·电脑·iphone·ipad