您好,登錄后才能下訂單哦!
這篇“vue環境怎么實現div focus blur焦點事件”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“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 },
就可以了
<div tabindex="0" @blur="aside1_hide()" ref="aside1" class="aside" > <!-- 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; }
以上就是關于“vue環境怎么實現div focus blur焦點事件”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。