午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

vue 表單輸入框不支持focus及blur事件的解決方案

瀏覽:30日期:2022-10-25 16:08:11

采用指令的方式來(lái)解決這個(gè)問(wèn)題(此處的前端框架以mint-ui為例):

1.html引用: v-mtfocus

vue 表單輸入框不支持focus及blur事件的解決方案

2.在實(shí)例中添加指令

directives: { ’mtfocus’ (el, binding, vnode) { let mtinput = el.querySelector(’input’) mtinput.onfocus = function () { ...//如果要對(duì)節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行更改,且更改要映射到頁(yè)面上,則更改可在vnode.context上進(jìn)行,這樣,改完之后,改變就會(huì)映射到頁(yè)面 } mtinput.onblur = function () { ...//同上理 } } }

補(bǔ)充知識(shí):vue中實(shí)現(xiàn)點(diǎn)擊按鈕使input顯示的同時(shí)獲取焦點(diǎn)

需求說(shuō)明:點(diǎn)擊搜索按鈕出現(xiàn)input框,并自動(dòng)使input框聚焦。

如圖所示:

vue 表單輸入框不支持focus及blur事件的解決方案

實(shí)現(xiàn)方式1:利用vue的ref

html代碼如下:

<input ref='inputVal' type='text' v-model='searchVal' placeholder='搜索標(biāo)題或內(nèi)容...' /><div v-show='searchBtnFlag' @click='searchIn'> <i class='iconfont icon-search1187938easyiconnet'></i> 搜索</div>

Js代碼如下:

searchIn(){ this.searchBtnFlag = !this.searchBtnFlag; this.$nextTick(function () { //DOM 更新了 this.$refs.inputVal.focus() })},

重點(diǎn):只需要把需要的操作放在$nextTick內(nèi)即可。

實(shí)現(xiàn)方式2:利用js(原理其實(shí)等同于方式1)

<input type='text' v-model='searchVal' placeholder='搜索標(biāo)題或內(nèi)容...' /><div v-show='searchBtnFlag' @click='searchIn'> <i class='iconfont icon-search1187938easyiconnet'></i> 搜索</div>

Js代碼如下:

searchIn(){ this.searchBtnFlag = !this.searchBtnFlag; this.$nextTick(function () { document.getElementById('inputVal').focus(); })},

說(shuō)明:必須在$nextTick內(nèi)使用方法是因?yàn)椋篸om更新的先后順序的問(wèn)題,不是所有的數(shù)據(jù)改變一定會(huì)觸發(fā)dom的更新,而在修改數(shù)據(jù)之后立即使用這個(gè)方法,可以獲取更新后的 dom。

誤區(qū):直接使用autofocus

html:

<input v-bind:autofocus='!searchBtnFlag' type='text' v-model='searchVal' placeholder='搜索標(biāo)題或內(nèi)容...' /><div v-show='searchBtnFlag' @click='searchIn'> <i class='iconfont icon-search1187938easyiconnet'></i> 搜索</div>

js:

searchIn(){ this.searchBtnFlag = !this.searchBtnFlag; this.$nextTick(function () { document.getElementById('inputVal').focus(); }) },

這樣的寫法只在第一次時(shí)起作用,如果點(diǎn)擊取消后再次點(diǎn)擊搜索按鈕則不會(huì)再次使input框自動(dòng)聚焦。

記錄一下,以備以后忘了好找。

以上這篇vue 表單輸入框不支持focus及blur事件的解決方案就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 精品社区| 最新超碰在线 | 91爱爱网站 | 狠狠操综合 | 久久免费在线视频 | 国产视频一区二区在线观看 | 亚洲欧美日韩久久精品 | 免费欧美日韩 | 国产男人的天堂 | 白嫩少妇激情无码 | 国产精品久久777777 | 91精品国产一区二区三区蜜臀 | av网址在线免费观看 | 国产69精品久久久久久久久久 | 国产精品久久婷婷六月丁香 | a级片在线观看 | 国产激情二区 | 亚洲国产精品尤物yw在线观看 | 91在线观看网站 | 亚洲毛片在线观看 | 天天爱天天干天天操 | 欧美日韩精品在线视频 | 日本一区二区三区中文字幕 | 久久99亚洲精品 | 伊人久久成人 | 成 年人 黄 色 片 | 亚洲最大福利视频 | 91视频99| 日韩欧美国产高清 | 国产成人精品一区二 | 在线观看欧美精品 | 成年人观看视频 | 亚洲国产色图 | 人人草在线观看 | www日本视频 | 艳母免费在线观看 | 国产一区二区三区视频在线 | 国产精品久久久久久久久毛片 | 国产婷婷色一区二区三区 | 亚洲日本中文字幕 | a级在线视频 |