vue2.0 点击其他区域关闭自定义div_vue 点击其他区域_经海路大白狗的博客-程序员秘密

技术标签: vue2.0 点击区域外 关闭  前端开发 前端日常工作 前端面试题  

其实我觉得这不是一个很大的问题,之前用jquery实现起来也挺简单的,但今天我有点忍不住了,想把vue项目中,自己弹出了一个小区域,点击这个区域以外的地方关闭这个弹出区域。我之前在网上看了,回答还是挺多的,但我挺想骂他们的,但骂他们还得注册登录那些技术网站,实在是不想费劲,我就把他们的回答贴出来几个吧。

1、

    

  有人做这个回答,暂且评价其为SB1号吧,我想只要用了vue超过1歌星期的都会知道,要调个点击事件,然后改变那个v-if变量值,互联网现在云存储是挺好的,但这种人经常在网上发一些无关紧要,甚至所答非所问的东西,简直不忍直视;

2、

  

 这就是SB2号吧,什么玩意

3、

   

   回答果然简短至极,你如果会或者做过,如果想回答就好好把你的思路写出来,你写个这东西,很多没有入门的怎么使用。

我简单写一下我的解决思路吧。

1、vue模块中的内容

    <template>

        <div class="hello"  v-on: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,这一步才是很多人想问的。你说那些回答的人就想不到这一点吗,就是不想说吗,说他们SB我觉得都一点问题都没有

   methods: {

hidePanel: function(event){

var sp = document.getElementById("myPanel");

if(sp){

if(!sp.contains(event.target)){            //这句是说如果我们点击到了id为myPanel以外的区域

this.panelShow = false;

}

}

}

   }

我们可能都发现过一个共同的问题,那就是你想去网上查东西的时候,总能发现一些人的回答,简直就是 不忍直视,所以我希望写出的东西更加有用,我们都应该鼓励自己做勇敢而又热情的人

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xingyu_qie/article/details/78831045

智能推荐

HTTP状态500 -内部服务器错误:java.lang.ClassNotFoundException:org.springframework.jdbc.core.JdbcTemplate_KaiKai-G的博客-程序员秘密

先上错误页面:在idea的控制台日志上也会爆下列错误:java.lang.ClassNotFoundException:org.springframework.jdbc.core.JdbcTemplate …出错原因:idea找不到JdbcTemplate这个类了,我仔细的检查了一下我发现我将lib放到了项目目录下了解决办法:然而在Tomcat服务器上的Serlev类需要调用的jar包应该放在web的WEB-INF目录下,如图:...

ARM简介及Cortex-A9_armv8和arm a9_DT_zhan的博客-程序员秘密

ARMARM架构,又称先进精简指令集(Advanced RISC Machine)。ARM公司并不生产芯片,而是出售芯片授权技。其合作公司针对不同需求搭配各类硬件部件,比如UART、SPI、I2C等,设计出不同的SoC芯片。Cortex系列属于ARMv7架构Cortex系列Cortex-A9传统的单片机(如8051)中,处理器只有完成一条指令的读取和执行后,才会开始下一条指...

No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional_zZach的博客-程序员秘密

org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here

python求列表对应元素的乘积和_python两列表对应元素乘积之和_寂灭小清秋的博客-程序员秘密

那天偶尔看到看到一个小问题:两个不等长列表a=[1,2,3],b=[4,5,6,7],求它们对应元素的乘积的和。我一开始想到的方法就是选择更小数组作为循环长度然后相乘求和:a = [1,2,3]b = [4,5,6,7]sum = 0for i in range(0,min(len(a),len(b))): number += a[i]*b[i]print(sum)但是后来我想到了...

FPGA学习笔记_串口收发与存取双口ram简易应用_GloriaHuo的博客-程序员秘密

FPGA学习笔记串口收发与存取双口ram简易应用1 原理图2 Verilog 代码3 Modelsim仿真4. FPGA板级验证串口收发与存取双口ram简易应用实验现象:在pc机上通过串口发送数据到FPGA中,FPGA收到的数据后,将数据存储在双口ram的一段连续空间中,当需要时,按下按键0,FPGA将ram中存储的数据通过串口发送出去。知识点:cyclone iv系列器件的内部结构存储器IP核的使用串口收发+按键+双口ram组成建议系统设计1. 原理图模块组成:

bootstrap-select.css,基于Bootstrap下拉框插件bootstrap-select使用方法详解_追风筝的人windy的博客-程序员秘密

写在前面:在这次的项目中,没有再使用liger-ui做为前端框架了,改为了Bootstrap,这次也好接触下新的技术,在学习的过程中发现,Bootstrap的一些组件基本都是采用class的形式,就是给一个它定义好的样式,就会给你展现出一个好看的组件出来,这个比liger-ui的界面做的要好,但是了解了Boostrap的基本语法后,发现在官方的文档中,并没有一些可以动态加载组件的demo,因为之前...

随便推点

linux之curl命令_linux curl_入门小站的博客-程序员秘密

curl命令 是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。命令语法&gt; curl (选项)(参数)命令选项-A/--user-agent 设置用户代理发送给服务器-b/--cookie .

MAC 下配置MQTT 服务器Mosquitto_水桶前辈的博客-程序员秘密

一.简单介绍 1.MQTT是IBM开发的一个即时通讯协议。MQTT是面向M2M和物联网的连接协议,采用轻量级发布和订阅消息传输机制。 2.Mosquitto是一款实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的,支持发布/订阅的的消息推送模式,使设备对设备之间的短消息通信简单易用。更多资料请访问:MQTT官网:点这里二.Mosquitto

hive sql alter table 修改表操作小记_扫地增的博客-程序员秘密

ALTER TABLE仅仅会修改表的元数据,但是不会对表数据本身作任何修改有全量表如下:create external table test.class_info( class string, student array&lt;string&gt;, user_info map&lt;string, int&gt;, position struct&lt;province:string, city:string, district:string&gt;)row format delimi.

推荐文章

热门文章

相关标签