点击emoji表情标签, 出现标签组件,点击其它地方, 改组件消失的效果;

<template>
<div class="writeZoon">
<div class="top">
<span class="icon iconfont icon-smiling" @click.stop="emojiShow"></span> //1 绑定点击事件
<span class="icon iconfont icon-wenjianjia"></span>
<span class="icon iconfont icon-jiandao"></span>
<span class="icon iconfont icon-xiaoxi"></span>
</div>
<div class="bottom"></div>
<div class="emojiBox" v-show="emoji" >
</div>
</div>
</template>
<script>
export default {
data() {
return {
emoji: false
};
},
methods: {
emojiShow() {
var that = this;
this.emoji = true;
console.log('emoji');
function emojiDisShow(){
//改变数据 重要的是在body上绑定事件, 让数据变成false, 最重要的是阻止点击emoji标签时候禁止冒泡到body上,所以用stop,
that.emoji = false;
document.body.removeEventListener('click',emojiDisShow)//消失后,为了性能,取消body这个事件就可以了
}
document.body.addEventListener('click',emojiDisShow);
}
}
};
</script>

  

vue点击除了某组件本身的其它地方, 隐藏该组件的方法的更多相关文章

  1. jquery 点击元素以外任意地方隐藏该元素的方法

    文章来源:百度知道 我的思路是给body绑定一个click事件,然后判断当前鼠标点击的区域是当前元素还是元素以外区域,如果点击对象不是当前元素,则隐藏该元素. 假设对象的id为divBtn,则代码如下 ...

  2. vue实现点击目标元素外页面的其他地方隐藏弹窗。

    方法: 步骤1:给页面最外出的元素div加点击事件:@click=“popShow = false”. 步骤2:给点击目标元素加点击事件:@click=“popShow = true”. 备注:pop ...

  3. 点击页面其它地方隐藏该div的方法

    思路一 第一种思路分两步 第一步:对document的click事件绑定事件处理程序,使其隐藏该div 第二步:对div的click事件绑定事件处理程序,阻止事件冒泡,防止其冒泡到document,而 ...

  4. 我优化了一下:jquery点击元素以外任意地方隐藏该元素的方法

    我优化了一下 $(document).bind('click', function (event) { var evt = event.srcElement ? event.srcElement : ...

  5. 点击除指定元素以外的任意地方隐藏js

    $(document).click(function () { $(".search_box").hide(); }); $(".resultUl").on(& ...

  6. 【Vue】Vue中的父子组件通讯以及使用sync同步父子组件数据

    前言: 之前写过一篇文章<在不同场景下Vue组件间的数据交流>,但现在来看,其中关于“父子组件通信”的介绍仍有诸多缺漏或者不当之处, 正好这几天学习了关于用sync修饰符做父子组件数据双向 ...

  7. vue中父子组件之间的传值、非父子组件之间的传值

    在Vue实例中每个组件之间都是相互独立的,都有自己的作用域,所以组件之间是不能直接获取数据.在项目开发中一个组件可能需要获取另一个组件的值,我们可以通过其他方法间接的获取.所以,获取的方法有以下几种: ...

  8. vue点击返回顶部插件vue-totop

    vue-totop vue 点击返回顶部插件,可以根据参数设定按钮大小,颜色,类型,返回顶部的时间等.github地址:https://github.com/1006008051/vue-totop, ...

  9. vue.js原生组件化开发(二)——父子组件

    前言 在了解父子组件之前应先掌握组件开发基础.在实际开发过程中,组件之间可以嵌套,也因此生成父子组件. 父子组件创建流程 1.构建父子组件 1.1 全局注册 (1)构建注册子组件 //构建子组件chi ...

随机推荐

  1. 判断request中是否有文件

    ServletFileUpload.isMultipartContent(request)

  2. buuctf@test_your_nc

    测试你的 nc 技巧 :)

  3. vue和electron做的聊天应用表情包处理

    表情包库: https://apps.timwhitlock.info/emoji/tables/unicode <template> <div @click.stop> &l ...

  4. javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint,NotBlank判断不能为空

    java 验证出现如下错误: javax.validation.UnexpectedTypeException: HV000030: No validator could be found for c ...

  5. Android使用init.rc触发脚本实现隐藏内置应用

    [实现逻辑] 通过在property_service.c中设置标志位,在设置中实现接口改变标志位, 使用init.rc中声明的服务来侦听标志位的变化,显式启动声明的服务,执行对应的脚本,把应用后缀从a ...

  6. bestcoder#9--1001--Lotus and Characters

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/131072 K (Java/Others) 问题描述 Lotus有nn种字母, ...

  7. windows下开启远程连接Mysql

    使用“Ctrl + R”组合键快速打开cmd窗口,并输入“cmd”命令,打开cmd窗口.  使用“mysql -uroot -proot”命令可以连接到本地的mysql服务.  使用“use mysq ...

  8. ENGINE =MyISAM DEFAULT CHARACTER SET latin1 COLLATE latin1_general_cs AUTO_INCREMENT=0; 什么意思

    ENGINE =MyISAM //表类型为myisam插写比较快 DEFAULT CHARACTER  SET  latin1//默认字符为latin1 COLLATE  latin1_general ...

  9. always_populate_raw_post_data

    Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a futu ...

  10. LeetCode_001.两数之和

    LeetCode_001 LeetCode-001.两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标. 你可以假设每种输 ...