IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 点击元素(div等)外使元素隐藏的两种方法 -> 正文阅读

[JavaScript知识库]点击元素(div等)外使元素隐藏的两种方法

第一种:
实现点击div元素之外 隐藏div 需求
需要使用元素失焦方法,但是div没有失去焦点的方法
给div元素添加tabIndex属性:tabIndex可以设置键盘中TAB键在控件中的移动顺序,也就是焦点的顺序,控件的tabIndex设成132767的一个值,可以把这个控件加入到TAB序列中
tabIndex的默认值为 0,把tabIndex的值设置为 -1 那么这个控件则在TAB的序列之外了,
但是 tabIndex=‘-1’ 时 , onfocus与onblur事件仍然被启动

hidefocus=“true” 隐藏 聚焦 的边框

<template>
	<div hidefocus="true" tabIndex="-1" @blur="divBlur" v-show="activeId === '1'">1234</div>
</template>
<script setup>
import { ref } from "vue";
function divBlur(){
  console.log("点击div之外了");
};
</script>

注意:: 这种方法,在div打开后必须要在div中有点击操作,再点击div外才能触发 @blur事件
div样式中还需加 outline:0;样式,取消聚焦时的边框

第二种:

<div class="needHide-Container" v-if="activeTollId === '1'">1234</div>

先给元素赋值一个class类名,这个类名用来区别 当前点击的元素是否为 要隐藏的元素

<script setup>
import { ref,watch} from "vue";
let activeTollId = ref("")
//监听
watch(
	//监听控制div显示隐藏的变量activeTollId.value
	() => activeTollId.value,
	//如果得到的新数值不为空,说明div元素显示了,给整个页面上添加mousedown鼠标点击事件调用onbourfun
	//否则得到的新数值为空说明div元素隐藏了,那就移除调mousedown点击事件
  	(val) => val ? document.addEventListener('mousedown', onbourfun) : document.removeEventListener('mousedown', onbourfun) 
)
//定义隐藏方法,用来区别点击的是否为 要隐藏的 div元素,如果点击的不是带有needHide-Container类名的元素则惦记的为div外的元素 这时我们要隐藏div所以给activeTollId.value赋值为''
const onbourfun = (e) => {
  if (!e.path.includes(document.querySelector('.needHide-Container'))) activeTollId.value = ''
}

</script>
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-13 11:40:51  更:2022-05-13 11:42:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:16:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码