遮罩层按钮事件失效

项目场景:

鼠标悬浮在图片上时,显示删除按钮。点击完成删除操作,

在这里插入图片描述

问题描述:

实现完页面效果时,点击删除标识不能触发删除事件。

原因分析:

可能是遮罩层,挡住了按钮事件。

解决方案:

  1. 在遮罩层添加pointer-events:none;样式

    .mask{
        position:absolute;
        background:rgba(101,101,101,0.6);
        color:#ebe3e3;
        opacity: 0;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
        border-radius: 10px;
        pointer-events:none;
    }
    
  2. 在点击元素上,添加pointer-events:auto样式

    <i class="el-icon-delete" style="pointer-events:auto" @click="adjustment_del(index)"></i></h3>
    

完整代码

			<el-dialog title="调整图片" :visible.sync="adjustmentDialog" width="30%">
				<div style="height: 15vw;width: 100%;overflow:auto;">
					<ul class="list" v-infinite-scroll="this.adjustment_loading" infinite-scroll-disabled="adjustment_disabled">
						<li v-for="(entity,index) in adjustmentList.list" 
							style="list-style-type: none; position:relative;flex-direction:row;">
							<div class="adjustment_img" style="width:auto;height: 100%;padding: 2px;">
								<img :src="entity.path" style="width:100%; height:100%;object-fit: cover;"
									class="mirrorRotateVertical" alt="pavement-image">
								<div class="mask" >
									<h3><i class="el-icon-delete" style="pointer-events:auto" @click="adjustment_del(index)"></i></h3>
								</div>
								<span v-html="entity.no" class="img_span"></span>
							</div>
						</li>
					</ul>
					<el-row style="height: 60px" v-if="adjustmentList.loading" v-loading="adjustmentList.loading"
						element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"></el-row>
					<div v-if="adjustmentList.noMore" class="image-slot">
						<span>暂无数据</span>
					</div>
				</div>
			</el-dialog>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值