0
点赞
收藏
分享

微信扫一扫

vue.js 点击目标元素显示div,点击目标元素外其他位置,隐藏div

年夜雪 2022-01-12 阅读 152
 <el-button class=" hiddenBtn" @click="showSearch = true">
	<span>点我</span>
</el-button>

<div class="filterInner-wraper" ref="filterInnerWraper">
弹窗内容
</div>
  mounted() {
    // 点击其他区域关闭自定义div
    document.addEventListener('click', (e) => {
      // 点击 除了filterInnerWraper的其他区域  并且 点击的不是筛选按钮 ,就关闭筛选弹窗
      if (!this.$refs.filterInnerWraper.contains(e.target) && !document.getElementsByClassName('hiddenBtn')[0].contains(e.target)) {
        this.$emit('filterClose');
      }
    });
  },

点击按钮,出现弹窗
点击其他地方,弹窗消失
但是,注意,这里有个特殊的点,按钮只能让弹窗出现,再次点击按钮,弹窗不会消失

举报

相关推荐

0 条评论