最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue輸入框中輸完后光標(biāo)自動(dòng)跳到下一個(gè)輸入框中的實(shí)現(xiàn)方法

 更新時(shí)間:2023年03月07日 09:25:32   作者:水星記_  
最近在工作中遇到了些問題,總結(jié)下分享給同樣遇到這個(gè)問題的朋友,這篇文章主要給大家介紹了關(guān)于vue輸入框中輸完后光標(biāo)自動(dòng)跳到下一個(gè)輸入框中的實(shí)現(xiàn)方法,需要的朋友可以參考下

前言

最近接到這么一個(gè)需求,做一個(gè)安全碼的輸入框,限制為6位數(shù),但是每一個(gè)寫入的值都是一個(gè)輸入框,共計(jì)6個(gè)輸入框,當(dāng)前輸入框?qū)懭胫岛?,光?biāo)自動(dòng)跳到下一個(gè)輸入框中,刪除當(dāng)前輸入框?qū)懭氲闹岛笤僮詣?dòng)跳到上一個(gè)輸入框中。

實(shí)現(xiàn)思路

首先我們需要通過 keyup() 事件在用戶輸入完字符后,利用 document.getElementsByClassName 方法獲取到輸入框的 dom 元素集合,拿到當(dāng)前元素的 keyindex 值,通過判斷確定光標(biāo)是否跳到下一個(gè)輸入框(focus)還是光標(biāo)失焦(blur);keydown() 事件主要就是為了防止一旦輸入過快,一個(gè)輸入框中會(huì)有多個(gè)字符的問題。 本章用到的屬性以及方法如下:

focus()

focus() 當(dāng)元素獲得焦點(diǎn)時(shí)(當(dāng)通過鼠標(biāo)點(diǎn)擊選中元素或通過 tab 鍵定位到元素時(shí)),發(fā)生 focus 事件。focus() 方法觸發(fā) focus 事件,或規(guī)定當(dāng)發(fā)生 focus 事件時(shí)運(yùn)行的函數(shù)。

blur()

當(dāng)元素失去焦點(diǎn)時(shí)發(fā)生 blur 事件。blur() 方法觸發(fā) blur 事件,或規(guī)定當(dāng)發(fā)生 blur 事件時(shí)運(yùn)行的函數(shù)。

keyup()

keyup() 方法觸發(fā) keyup 事件,或規(guī)定當(dāng)發(fā)生 keyup 事件時(shí)運(yùn)行的函數(shù)。

keydown()

當(dāng)鍵盤鍵被按下時(shí)觸發(fā) keydown 事件。需要注意的是 keydown() 是在鍵盤按下觸發(fā),而 keyup() 是在鍵盤松手就會(huì)觸發(fā)。

document.getElementsByClassName()

getElementsByClassName() 方法返回文檔中所有指定類名的元素集合,作為 NodeList 對象。NodeList 對象代表一個(gè)有順序的節(jié)點(diǎn)列表。NodeList 對象 我們可通過節(jié)點(diǎn)列表中的節(jié)點(diǎn)索引號(hào)來訪問列表中的節(jié)點(diǎn)(索引號(hào)由0開始)。

完整源碼

<template>
  <div class="parentBox">
    <div v-for="(item, index) in inputList" :key="index">
      <input type="text" v-model="item.pinless" class="inputValue" @keyup="keyboard($event, index)" @keydown="expurgate(index)" />
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      // 輸入框循環(huán)的數(shù)組
      inputList: [
        { pinless: "" },
        { pinless: "" },
        { pinless: "" },
        { pinless: "" },
        { pinless: "" },
        { pinless: "" },
      ],
    };
  },
  methods: {
    // 鍵盤松開事件
    keyboard(e, index) {
      let domNode = document.getElementsByClassName("inputValue"),
        currInput = domNode[index],
        nextInput = domNode[index + 1],
        lastInput = domNode[index - 1];
      if (e.keyCode != 8) {
        if (index < this.inputList.length - 1) {
          nextInput.focus();
        } else {
          currInput.blur();
        }
      } else {
        if (index != 0) {
          lastInput.focus();
        }
      }
    },
    // 鍵盤按下觸發(fā)
    expurgate(index) {
      this.inputList[index].pinless = "";
    },
  },
};
</script>
<style scoped>
.parentBox {
  padding: 20px;
  display: flex;
}
.parentBox div:nth-child(n + 2) {
  margin-left: 4px;
}
input {
  color: #606266;
  font-size: 18px;
  text-align: center;
  width: 54px;
  height: 62px;
  border: 2px solid gainsboro;
  border-radius: 4px;
}
</style>

實(shí)現(xiàn)效果

總結(jié)

到此這篇關(guān)于vue輸入框中輸完后光標(biāo)自動(dòng)跳到下一個(gè)輸入框中的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)vue輸入框輸完自動(dòng)跳到下個(gè)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Element-UI中el-table如何合并相同單元格

    Element-UI中el-table如何合并相同單元格

    這篇文章主要給大家介紹了關(guān)于Element-UI中el-table如何合并相同單元格的相關(guān)資料,el-table的組件的可以合并單元格,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • Vue的根路徑為什么不能作為跳板跳轉(zhuǎn)到其他頁面(問題診斷及方案)

    Vue的根路徑為什么不能作為跳板跳轉(zhuǎn)到其他頁面(問題診斷及方案)

    文章主要介紹了Vue應(yīng)用中路由配置錯(cuò)誤的診斷和解決方案,根路徑配置錯(cuò)誤和未正確使用`<router-view>`標(biāo)簽是常見的問題,會(huì)導(dǎo)致路由參數(shù)無法正常傳遞,感興趣的朋友跟隨小編一起看看吧
    2025-03-03
  • vue 使用OSS上傳圖片或附件講解

    vue 使用OSS上傳圖片或附件講解

    這篇文章主要介紹了vue 使用OSS上傳圖片或附件講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • 詳解VueJs中的V-bind指令

    詳解VueJs中的V-bind指令

    v-bind 主要用于屬性綁定,比方你的class屬性,style屬性,value屬性,href屬性等等,只要是屬性,就可以用v-bind指令進(jìn)行綁定.這篇文章主要介紹了VueJs中的V-bind指令,需要的朋友可以參考下
    2018-05-05
  • vue?Proxy數(shù)據(jù)代理進(jìn)行校驗(yàn)部分源碼實(shí)例解析

    vue?Proxy數(shù)據(jù)代理進(jìn)行校驗(yàn)部分源碼實(shí)例解析

    Proxy提供了強(qiáng)大的Javascript元編程,有許多功能,包括運(yùn)算符重載,對象模擬,簡潔而靈活的API創(chuàng)建,對象變化事件,甚至Vue 3背后的內(nèi)部響應(yīng)系統(tǒng)提供動(dòng)力,這篇文章主要給大家介紹了關(guān)于vue?Proxy數(shù)據(jù)代理進(jìn)行校驗(yàn)部分源碼解析的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • Vue3+Vite+TS實(shí)現(xiàn)二次封裝element-plus業(yè)務(wù)組件sfasga

    Vue3+Vite+TS實(shí)現(xiàn)二次封裝element-plus業(yè)務(wù)組件sfasga

    這篇文章主要介紹了在Vue3+Vite+TS的基礎(chǔ)上實(shí)現(xiàn)二次封裝element-plus業(yè)務(wù)組件sfasga,下面文章也將圍繞實(shí)現(xiàn)二次封裝element-plus業(yè)務(wù)組件sfasga的相關(guān)介紹展開相關(guān)內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可惡意參考一下
    2021-12-12
  • 聊聊vue番茄鐘與electron?打包問題

    聊聊vue番茄鐘與electron?打包問題

    這篇文章主要介紹了vue番茄鐘與electron?打包問題,本文通過實(shí)例結(jié)合相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • WebStorm無法正確識(shí)別Vue3組合式API的解決方案

    WebStorm無法正確識(shí)別Vue3組合式API的解決方案

    這篇文章主要介紹了WebStorm無法正確識(shí)別Vue3組合式API的解決方案,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下
    2021-02-02
  • Vue Element-ui表單校驗(yàn)規(guī)則實(shí)現(xiàn)

    Vue Element-ui表單校驗(yàn)規(guī)則實(shí)現(xiàn)

    Element-ui表單校驗(yàn)規(guī)則,使得錯(cuò)誤提示可以直接在form-item下面顯示,無需彈出框,感興趣的小伙伴們可以參考一下
    2021-07-07
  • vue?elementui?實(shí)現(xiàn)圖片上傳后拖拽排序功能示例代碼

    vue?elementui?實(shí)現(xiàn)圖片上傳后拖拽排序功能示例代碼

    這篇文章主要介紹了vue?elementui?實(shí)現(xiàn)圖片上傳后拖拽排序功能,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01

最新評(píng)論

阳山县| 静宁县| 通榆县| 望奎县| 彩票| 大化| 石狮市| 临潭县| 漳平市| 台江县| 峨边| 平邑县| 图们市| 如皋市| 兴安盟| 昌黎县| 洛扎县| 涪陵区| 新源县| 白河县| 普兰店市| 宽城| 科技| 贵德县| 宿松县| 佛冈县| 盘锦市| 新兴县| 伊宁县| 石林| 博湖县| 石阡县| 大竹县| 宜阳县| 陆丰市| 闻喜县| 当雄县| 荆门市| 饶河县| 班玛县| 德惠市|