代码实现:

<template><div><div class="show" v-show="show" v-clickoutside="handleClose">显示</div></div>
</template><script>
const clickoutside = {// 初始化指令bind(el, binding, vnode) {function documentHandler(e) {// 这里判断点击的元素是否是本身,是本身,则返回if (el.contains(e.target)) {return false;}// 判断指令中是否绑定了函数if (binding.expression) {// 如果绑定了函数 则调用那个函数,此处binding.value就是handleClose方法binding.value(e);}}// 给当前元素绑定个私有变量,方便在unbind中可以解除事件监听el.__vueClickOutside__ = documentHandler;document.addEventListener('click', documentHandler);},update() {},unbind(el, binding) {// 解除事件监听document.removeEventListener('click', el.__vueClickOutside__);delete el.__vueClickOutside__;},
};
export default {name: 'HelloWorld',data() {return {show: true,};},directives: {clickoutside},methods: {handleClose(e) {this.show = false;},},
};
</script><!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.show {width: 100px;height: 100px;background-color: red;
}
</style>

  

ps:给自定义组件添加自定义事件

简单介绍vue指令
一个指令定义对象可以提供如下几个钩子函数 (均为可选):

bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。
inserted:被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)。
update:所在组件的 VNode 更新时调用,但是可能发生在其子 VNode 更新之前。指令的值可能发生了改变,也可能没有。但是你可以通过比较更新前后的值来忽略不必要的模板更新 (详细的钩子函数参数见下)。
componentUpdated:指令所在组件的 VNode 及其子 VNode 全部更新后调用。
unbind:只调用一次,指令与元素解绑时调用。
钩子函数的参数 (即 el、binding、vnode 和 oldVnode)如下:

原文地址:https://blog.csdn.net/qq_29436563/article/details/79994388

转载于:https://www.cnblogs.com/karila/p/10155339.html

自定义组件 点击空白处隐藏相关推荐

  1. android 获取键盘回车键事件,设置软键盘回车键显示内容,点击空白处隐藏软键盘

    首先设置EditText的回车属性 drawable文件 @drawable/editcolor <?xml version="1.0" encoding="utf ...

  2. IOS 点击空白处隐藏键盘的几种方法

    IOS7 点击空白处隐藏键盘的几种方法 IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,对于用户体验来说很不友好,我们可以 ...

  3. 【Flutter 实战】全局点击空白处隐藏键盘

    老孟导读:为什么要实现点击空白处隐藏键盘?因为这是 iOS 平台的默认行为,Android 平台由于其弹出的键盘右上角默认带有关闭键盘的按钮,所以点击空白处不会隐藏键盘. 对于单个页面来说,通过为 T ...

  4. android 软键盘监听、隐藏、显示、点击空白处隐藏和Android KEYCODE 键值大全

    android 软键盘监听.隐藏.显示.点击空白处隐藏. textView.setOnKeyListener(new View.OnKeyListener() {@Overridepublic boo ...

  5. 项目--点击按钮显示资料,点击空白处隐藏资料

    点击空白处隐藏资料 点击按钮显示资料在这里插入代码片 <!DOCTYPE html> <html lang="en"><head><met ...

  6. android 点击空白退出,Android 点击空白处隐藏键盘

    方法一:使用android的分发机制(代码稍微有点多) /** * 实现点击空白处,软键盘消失事件 * @param ev * @return */ @Override public boolean  ...

  7. android中点击空白处隐藏软键盘

    在android中点击EditText的时候会弹出软键盘,这时候如果想隐藏软键盘或者填完内容后点其他的地方直接隐藏软键盘,可以按一下方法处理. 首先获得软键盘Manager InputMethodMa ...

  8. 安卓:点击空白处隐藏软键盘

    建议重新封装,每个activity重新写,就显得有点烦琐 //region 点击隐藏键盘public boolean dispatchTouchEvent(MotionEvent ev) {if (e ...

  9. 点击空白处隐藏 阻止事件向上冒泡

    var myDiv = $(".div_box");//需要隐藏的内容$(function() {$(".div_main").click(function(e ...

最新文章

  1. Python3.x和Python2.x的区别
  2. PHP查找数据库中的用户,php-在数据库中查找现有的电子邮件和用户...
  3. JVM堆GC回收次数
  4. KMP--字符串匹配
  5. 平面内两条线段的位置关系(相交)判定与交点求解
  6. Eclipse 删除 空行
  7. udacity开源的数据_评论:Udacity数据分析师纳米学位计划
  8. 解决VMware6.5 以上版本安装RHEL 5的自动安装的问题
  9. iview select 怎么清空_如何解决iview 的select下拉框选项错位的问题,具体操作如下...
  10. kafka0.9 java commit_Kafka 0.9 新消费者API
  11. python template engine
  12. Win10 64位系统下PCL + Visual Studio + cmake + (Qt) 安装调试
  13. 小鹏汽车CEO疑似隔空回应偷窃技术传闻;​苹果明年新款iPhone将使用增强版5nm芯片;Windows诞生35周年|极客头条...
  14. 全国大学生数学建模竞赛中,哈工大被禁用 MATLAB!
  15. 软件工程概述思维导图总结(一)
  16. linux mud 游戏,一笑天涯MUD游戏
  17. Jpa是什么——Jpa使用详解
  18. 苹果台式机怎么设置我的电脑计算机,怎么让台式电脑用苹果手机的wifi上网
  19. 手机里重力感应器和陀螺仪的区别
  20. vs中资源文件和外部依赖项是什么意思?

热门文章

  1. 004-安装CentOS7后需要的操作
  2. 第1个实验:用汇编语言点亮一盏LED
  3. 基于Jquery+Ajax+Json+高效分页
  4. JSP复习(二):EL表达式
  5. 不当免费技术支持的10种方法
  6. 被上海爱立信录取,GL
  7. 如何构建优雅的ViewController
  8. MySQL防止库存超卖方法总结
  9. MySQL每秒57万的写入,带你飞~
  10. 微服务架构的优势与不足(二)