vue环境如何实现div focus blur焦点事件

vue环境如何实现div focus blur焦点事件

目录

vue div focus blur焦点事件

vue div 获得焦点和失去焦点

vue div focus blur焦点事件

onfocus获取焦点事件与onblur失去焦点事件本身是input类用的

input类如果是点击后才加载的话需要做个延时器,否则会报错

setTimeout(()=>{     this.$refs.aside.focus() },100)

div想支持则需要加上tabindex="0"属性//0或者以上

但是在vue环境中,加上这个也不支持,而移动端无法使用鼠标事件

<div tabindex="0" hidefocus="true" ref="aside" class="aside" @click="dialaing()" @blur='()=>{dialaingIsShow =false}'>     <div v-show="dialaingIsShow" class="dialaing">dsadasd</div> </div> dialaing(){        this.$refs.aside.focus()        this.dialaingIsShow = true },

就可以了

vue div 获得焦点和失去焦点 <div tabindex="0" @blur="aside1_hide()" ref="aside1" class="aside" style="width: 200px; overflow: scroll;"> <!-- background-color="#23303E" transparent --> <el-menu background-color="#23303E" text-color="#fff" active-text-color="#fff"> ... </el-menu> </div> left_click: function() { if (!this.left_show) { this.$refs.aside1.style.left = "0" this.$refs.aside1.focus() //获得焦点 this.left_show = true } else { this.aside1_hide() } }, aside1_hide:function () { this.$refs.aside1.style.left = "-200px" this.left_show = false }, @media screen and (min-width: 1200px) { .aside { position: static; width: 200px; height: 100vh; margin: 0; padding: 0; background-color: #23303E; z-index: 100; /*移动时的过度效果*/ transition: left 500ms ease; color: #fff; } } @media screen and (max-width: 1200px) { /*隐藏在左边*/ .aside { position: fixed; /*相对于窗口固定定位*/ top: 0; left: -200px; /*隐藏在左边*/ width: 200px; height: 100vh; margin: 0; padding: 0; background-color: #23303E; z-index: 100; /*移动时的过度效果*/ transition: left 500ms ease; /*padding: 36px;*/ color: #fff; } } /*可以滚动,但隐藏滚动条*/ .aside::-webkit-scrollbar { display: none; }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易知道(ezd.cc)。

推荐阅读

    js设置div的边框|怎样给div设置边框

    js设置div的边框|怎样给div设置边框,,1. 怎样给div设置边框1、首先新建一个html文件,输入基本的内容,这里设置一个div,并把它的class设置为de

    确定java按钮响应事件的代码

    确定java按钮响应事件的代码,,* 阅读本文可以结合最后在java登录窗口界面下面是一个链接。 是定义的容器。 容器(CP =得到内容面板); / /

    vue项目一些常见问题

    vue项目一些常见问题,组件,样式,**样式污染问题**同样的样式不需要在每个组件都复制组件内单独的样式加外层class包裹。加scope。否则只是

    90后瓶门事件图片

    90后瓶门事件图片,,现在孩子们还太早,有些女孩子总是在门口等一会儿,最近发生了一次酒瓶门事件。 近日,山东一家寄宿学校的一名女生带着一瓶

    01-Vue项目实战-网易云音乐-准备工作

    01-Vue项目实战-网易云音乐-准备工作,网易,项目,前言在接下来的一段时间,我会仿照网易云音乐,利用Vue开发一个移动端的网易云音乐项目。在做

    01- 第一天 spring boot2.3.1 +vue3.0 后台管理系统的研发

    01- 第一天 spring boot2.3.1 +vue3.0 后台管理系统的研发,自己的,后台,后台框架一直想开发一套完全属于自己的后台,但是18年的时候,曾经答

    Vue项目中 App.vue文件

    Vue项目中 App.vue文件,文件,内容, 在App.vue文件中,定义了一个id为app的div,在这个div板块中放置Helloworld组件,文件内容如下图所示:在

    唐山打人事件视频源自哪里

    唐山打人事件视频源自哪里,华为,视频,唐山打人事件视频源自哪里唐山打人事件视频来源于哪里?为什么这个网友人敢于发出这个视频?不怕被威胁

    div设置阴影|html如何设置阴影

    div设置阴影|html如何设置阴影,,1. html如何设置阴影在HTML中设计水平线的方法如下 1 在网页设计过程中,如果随意利用缺省水平线,常常会出现

    Win7系统怎么打开事件查看器?

    Win7系统怎么打开事件查看器?,查看器,事件, win7系统中有一个事件查看器,事件查看器是重要的系统管理软件,通过它可以了解到某项功能配置、