vue環(huán)境如何實現(xiàn)div?focus?blur焦點事件
vue div focus blur焦點事件
onfocus
獲取焦點事件與onblur失去焦點事件本身是input類用的input
類如果是點擊后才加載的話需要做個延時器,否則會報錯
setTimeout(()=>{ ? ? this.$refs.aside.focus() },100)
div想支持則需要加上tabindex="0"屬性//0或者以上
但是在vue環(huán)境中,加上這個也不支持,而移動端無法使用鼠標(biāo)事件
<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; }
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue實現(xiàn)動態(tài)路由添加功能的簡單方法(無廢話版本)
ue動態(tài)路由(約定路由),聽起來好像很玄乎的樣子,但是你要是理解了實現(xiàn)思路,你會發(fā)現(xiàn)沒有想象中的那么難,下面這篇文章主要給大家介紹了關(guān)于vue實現(xiàn)動態(tài)路由添加功能的簡單方法,需要的朋友可以參考下2023-02-02vue.js?Table?組件自定義列寬實現(xiàn)核心方法
這篇文章主要介紹了vue.js?Table?組件自定義列寬實現(xiàn)核心方法,文圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-07-07vite+vue3+tsx項目打包后動態(tài)路由無法加載頁面的問題及解決
這篇文章主要介紹了vite+vue3+tsx項目打包后動態(tài)路由無法加載頁面的問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03uniapp前端支付篇之微信、抖音、快手、h5四個平臺支付功能
支付功能在我們?nèi)粘i_發(fā)中經(jīng)常會遇到,下面這篇文章主要給大家介紹了關(guān)于uniapp前端支付篇之微信、抖音、快手、h5四個平臺支付功能的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03關(guān)于console.log打印結(jié)果是?[object?Object]的解決
這篇文章主要介紹了關(guān)于console.log打印結(jié)果是?[object?Object]的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04vue+Element實現(xiàn)搜索關(guān)鍵字高亮功能
這篇文章主要為大家詳細(xì)介紹了vue+Element實現(xiàn)搜索關(guān)鍵字高亮功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-05-05antfu大佬的v-lazy-show教我學(xué)會了怎么編譯模板指令
這篇文章主要介紹了antfu大佬的v-lazy-show,我學(xué)會了怎么編譯模板指令示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04