vue2.0点击其他任何地方隐藏dom

本文介绍了一种在Vue中实现当点击目标元素之外的任何地方时隐藏特定DOM元素的方法。通过监听文档点击事件并检查点击位置是否位于目标元素内来实现这一功能。此外,还提供了一种适用于弹出层为独立组件时的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

methods: {
    handleBodyClick(){
        if (绿色区域出来了,要判断点击其他地方就要关闭,这样可以避免绿色区域已经关闭还在操作) {
          let _con = $(目标区域)
          if (!_con.is(e.target) && _con.has(e.target).length === 0) {
            // 点击目标区域外的时候关闭绿色区域
          }
        }
    },
},
mounted () {
  document.addEventListener('click', this.handleBodyClick)
},
destroyed () {
  document.removeEventListener('click', this.handleBodyClick)
}

原文参考《vue点击其它任何地方隐藏dom

另外有一种隐藏整个组件的,比较适合一个弹出层是一个组件的情况

  mounted () {
    document.addEventListener('click', this.handleDocumentClick)
  },
  methods: {
    handleDocumentClick (e) {
      if (!this.$el.contains(e.target)) {
        this.isShow = false
      }
    }
  },
  destroyed () {
    document.removeEventListener('click', this.handleDocumentClick)
  }

 

转载于:https://www.cnblogs.com/ToBeBest/p/8419170.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值