element ui 图片 image组件 实现点击遮罩层关闭图片预览

1、图片预览只提供了点击右上角按钮关闭和按Esc按钮关闭,但是我们想要点击遮罩层关闭图片预览,如何实现,直接上代码了:

 <div class="demo-image__preview">
        <el-image 
          :src="showmsg.content" 
          :preview-src-list="[showmsg.content]"
          fit="cover"
          @click.stop="handleClickItem">
        </el-image>
   </div>

js部分

handleClickItem(){
        // 获取遮罩层dom
        setTimeout(function(){
          let domImageMask = document.querySelector(".el-image-viewer__wrapper");
          if (!domImageMask) {
            return;
          }
          domImageMask.addEventListener("click", (e) => {
            if(e.target.parentNode.className == 'el-image-viewer__actions__inner') {
              return;  //如果点击底部菜单,不关闭
            }
            // 点击遮罩层时调用关闭按钮的 click 事件
            document.querySelector(".el-image-viewer__close").click();
          });
        },300)
      }

注意要点:
1、要给个延时操作,要不然dom没取到
2、如果点击的是底部功能栏,则不关闭图片预览。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值