亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue輸入框怎么實現輸完后光標自動跳到下一個輸入框中

發布時間:2023-03-07 11:12:37 來源:億速云 閱讀:172 作者:iii 欄目:開發技術

本篇內容主要講解“vue輸入框怎么實現輸完后光標自動跳到下一個輸入框中”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“vue輸入框怎么實現輸完后光標自動跳到下一個輸入框中”吧!

實現思路

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

focus()

focus() 當元素獲得焦點時(當通過鼠標點擊選中元素或通過 tab 鍵定位到元素時),發生 focus 事件。focus() 方法觸發 focus 事件,或規定當發生 focus 事件時運行的函數。

blur()

當元素失去焦點時發生 blur 事件。blur() 方法觸發 blur 事件,或規定當發生 blur 事件時運行的函數。

keyup()

keyup() 方法觸發 keyup 事件,或規定當發生 keyup 事件時運行的函數。

keydown()

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

document.getElementsByClassName()

getElementsByClassName() 方法返回文檔中所有指定類名的元素集合,作為 NodeList 對象。NodeList 對象代表一個有順序的節點列表。NodeList 對象 我們可通過節點列表中的節點索引號來訪問列表中的節點(索引號由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 {
      // 輸入框循環的數組
      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();
        }
      }
    },
    // 鍵盤按下觸發
    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>

實現效果

vue輸入框怎么實現輸完后光標自動跳到下一個輸入框中

到此,相信大家對“vue輸入框怎么實現輸完后光標自動跳到下一個輸入框中”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

岱山县| 乌鲁木齐县| 五大连池市| 深泽县| 沁水县| 抚远县| 中阳县| 四川省| 柳河县| 罗平县| 金华市| 衡阳市| 通渭县| 车险| 汉川市| 美姑县| 舒城县| 获嘉县| 新营市| 太保市| 积石山| 富阳市| 汉寿县| 阳泉市| 西吉县| 会理县| 喜德县| 莆田市| 和龙市| 宁城县| 平利县| 南漳县| 定襄县| 曲松县| 淅川县| 耿马| 上蔡县| 化德县| 鄢陵县| 新竹市| 宁德市|