vue 点击其他区域关闭自定义div

1、vue模块中的内容

<template>
     <div class="hello"  @click="hidePanel">
          <div id="myPanel" v-if="panelShow"></div>
     </div>
</template>

第一步,我们在自己的vue模块中整体添加了一个hidePanel事件,准备整体区域进行点击,然后id为myPanel的div是我们要处理的那个小组件。

2、定义变量

data () {
   return {
       panelShow: true
   }
}

3、第三步才是重点,其实大家都知道,要触发一个事件,然后这个事件还是点击事件,点击到我们这个id是 myPanel以外的地方才进行一些操作,也就是把panelShow赋值为false

methods: {
  hidePanel: function(event){
     let sp = document.getElementById("myPanel");
     if(sp){
        if(!sp.contains(event.target)){//这句是说如果我们点击到了id为myPanel以外的区域
           this.panelShow = false;
        }
     }
  }
}

原文地址:https://www.cnblogs.com/AaronLs/p/11996798.html

时间: 2024-11-02 02:10:04

vue 点击其他区域关闭自定义div的相关文章

js的事件冒泡和点击其他区域隐藏弹出层

一.前言 在编写页面的时候,我们经常使用到弹出层.对于弹出层,原本的意义就是增加与用户的交互,提升用户的好感度.如果弹出层都没有较好的体验,那何谈通过交互来提升好感... 首先提出几个弹出层的注意点: 弹出层的界面需要统一,不一致的弹出层并不能增加美感,相反还会显得页面布局更加杂乱无章: 弹出层的设计一定要好看,按钮要符合项目的主色调: 弹出层的宽度固定屏幕占比,设置max-width,高度根据内容自适应: 点击其他区域隐藏弹出层... 二.正文 今天,主要说说点击其他区域隐藏弹出层.笔者被这个

点击自定义下拉框以外的区域关闭下拉框

1.写一个下拉框 html部分: <div class="pull-left service-type mt-36"> <div id="currentService">第一<img style="margin-left: 5px" src="arrow.png"/></div> <ul class="service-option hidden">

vue 下拉框自定义 以及点击空白空白处关闭下拉框

html: <div class="divInput" v-close> <div class="input" @click="opensort"> <input v-model="sortvalue" type="text" placeholder="分类" /> <vicon :type="'triangle'" clas

页面设置弹窗,点击其他区域,弹窗关闭

页面设置弹窗,点击其他区域,弹窗关闭(案列) <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>test</title> <script src="plugins/jquery-2.0.0.min.js"></script> <script> $(function(){ $('#btn')

swift3.0 点击UIScrollView中输入框之外的区域关闭键盘

通过点击事件实现关闭键盘 scrollView: UIScrollView! title_textField: UITextField! let hideKeyboardTapGesture = UITapGestureRecognizer(target: self, action: #selector(hideKeyboardTapGesture(sender:))) scrollView.isUserInteractionEnabled = true scrollView.addGestur

点击空白区域隐藏指定元素实例代码

点击空白区域隐藏指定元素实例代码:此效果不是无的放矢的,当然正常的应用应该没有这么简单,一般都是和其他的功能结合在一起的,比如自定义select下拉菜单,点击空白区域的时候可以隐藏下拉菜单,本章节就是单独拿出这个功能做一下简单的介绍.代码实例如下: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <meta name="author" content=&

bootstrap 弹出框点击其他区域时弹出框不消失选项设置

默认情况下,bootstrap 弹出框点击其他区域时,弹出框会自动关闭,在很多时候,我们可能会希望达到和原生弹出框一样的效果,避免不小心点击其他区域时弹框自动隐藏,尤其是对于一些复杂的表单,重复填写可能会带来很不好的体验效果,所以,我们会希望不会发生这种情况,事实上bootstrap dialog提供了大量的选项可以设置各种dialog的行为和效果.如下所示: <div class="modal fade" id="myModal" tabindex=&quo

点击文字弹出一个DIV层窗口代码 【或FORM表单 并且获取点击按钮的ID值】

点击不同按钮咨询不同的 专家 <?php for($i=1;$i<5;$i++){ $uid=$i; //用户ID ?> <a class="a_click" href="javascript:;" onclick="add_to_uid(<?=$uid?>)">点击弹框</a> <?}?> <div class="form1" id="form

js点击任意区域弹出层消失,js点击弹出层之外的任意区域弹出层消失,常见弹层的封装

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <style type="text/css"> *{margin:0;padding:0;} .warp{overflow:hidden;} .div1,.div2,.div3,.div4{wi