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

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

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

前言

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

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

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

focus()

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

blur()

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

keyup()

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

keydown()

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

document.getElementsByClassName()

getElementsByClassName() 方法返回文檔中所有指定類名的元素集合,作為 NodeList 對象。NodeList 對象代表一個有順序的節(jié)點(diǎn)列表。NodeList 對象 我們可通過節(jié)點(diǎn)列表中的節(jié)點(diǎn)索引號來訪問列表中的節(jié)點(diǎn)(索引號由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)自動跳到下一個輸入框中的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)vue輸入框輸完自動跳到下個內(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)用中路由配置錯誤的診斷和解決方案,根路徑配置錯誤和未正確使用`<router-view>`標(biāo)簽是常見的問題,會導(dǎo)致路由參數(shù)無法正常傳遞,感興趣的朋友跟隨小編一起看看吧
    2025-03-03
  • vue 使用OSS上傳圖片或附件講解

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

    這篇文章主要介紹了vue 使用OSS上傳圖片或附件講解,本篇文章通過簡要的案例,講解了該項技術(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)提供動力,這篇文章主要給大家介紹了關(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)容,具有一定的參考價值,需要的小伙伴可惡意參考一下
    2021-12-12
  • 聊聊vue番茄鐘與electron?打包問題

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

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

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

    這篇文章主要介紹了WebStorm無法正確識別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ī)則,使得錯誤提示可以直接在form-item下面顯示,無需彈出框,感興趣的小伙伴們可以參考一下
    2021-07-07
  • vue?elementui?實(shí)現(xiàn)圖片上傳后拖拽排序功能示例代碼

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

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

最新評論

六安市| 黄浦区| 丹棱县| 卢氏县| 福建省| 乌兰浩特市| 合川市| 信丰县| 玉林市| 昌图县| 东丰县| 衢州市| 南开区| 辽阳县| 修武县| 萨嘎县| 龙陵县| 甘南县| 句容市| 大连市| 宁阳县| 嘉义市| 固阳县| 原平市| 中卫市| 滦南县| 楚雄市| 岚皋县| 邵阳市| 河池市| 韶关市| 象州县| 公主岭市| 肥城市| 元阳县| 灵宝市| 廊坊市| 云龙县| 天长市| 公主岭市| 沐川县|