当前位置: 首页 > news >正文

【Vue】自定义指令 - 点击当前区域外

<template><div><div v-click-outside="onClickOutside" class="box">点击内容外区域会触发事件</div></div>
</template><script setup>
// 定义自定义指令 v-click-outside
const vClickOutside = {mounted(el, binding) {function eventHandler(e) {if (el.contains(e.target)) {return false}// 如果绑定的参数是函数,则执行if (binding.value && typeof binding.value === "function") {binding.value(e)}}// 用于销毁前注销事件监听el.__click_outside__ = eventHandler// 添加事件监听document.addEventListener("click", eventHandler)},beforeUnmount(el) {// 移除事件监听document.removeEventListener("click", el.__click_outside__)// 删除无用属性delete el.__click_outside__},
}// 定义点击外部区域的处理函数
const onClickOutside = () => {console.log("点击了外部 DOM")
}
</script><style scoped>
.box {width: 200px;height: 200px;background-color: lightblue;text-align: center;line-height: 200px;
}
</style>

http://www.mrgr.cn/news/33450.html

相关文章:

  • SSM+vue音乐播放器管理系统
  • 数值计算 --- 平方根倒数快速算法(0x5f3759df,这是什么鬼!!!)
  • 拥有一个你说了算的人生—空间
  • 机器学习——Boosting
  • 【C++】二叉搜索树的底层以及实现
  • Day05 日期类OJ题目
  • 使用Go语言的互斥锁(Mutex)解决并发问题
  • Linux-gcc/g++
  • HTB-GreenHorn 靶机笔记
  • 校园美食发现:Spring Boot技术的美食社交平台
  • Zotero(7.0.5)+123云盘同步空间+Z-library=无限存储文献pdf/epub电子书等资料
  • 【Linux】【Hadoop】大数据基础实验一
  • 华为HarmonyOS灵活高效的消息推送服务(Push Kit) - 4 获取Push Token
  • Ubuntu24.04 安装ssh开启22端口及允许root用户远程登录
  • 切换笔记本键盘的启用与禁用状态
  • CPU和GPU运行的差别在哪里?
  • 文件 上传
  • 水果识别系统Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
  • [云服务器14] 搭建属于你自己的Git服务器
  • JVM OOM(OutOfMemoryError)问题排查与解决