如何使用 JavaScript 自動調整輸入欄位的寬度?


我們可以使用 JavaScript 自動調整輸入欄位的寬度。這可以透過使用元素的 style 屬性根據輸入值設定寬度來實現。透過在使用者鍵入時不斷更新寬度,我們可以確保輸入欄位始終具有適合輸入的適當大小。

以下是一種使用 JavaScript 自動調整輸入欄位寬度的方法:

  • 使用 JavaScript 選擇輸入欄位,例如,使用 document.querySelector() 方法:

var inputField = document.querySelector("#myInput");
  • 向輸入欄位新增一個事件監聽器,監聽 "input" 事件:

inputField.addEventListener("input", adjustWidth);
  • 建立一個名為 "adjustWidth" 的函式,該函式根據輸入欄位值的長度計算輸入欄位的寬度:

function adjustWidth() {
   var value = inputField.value;
   var width = value.length * 8 + 25; // 8px per character
   inputField.style.width = width + "px";
}
  • 每當輸入欄位的值發生更改時,呼叫 adjustWidth 函式:

inputField.addEventListener("input", adjustWidth);
  • 現在,輸入欄位的寬度將在使用者在欄位中鍵入時自動調整。

注意:上述示例中使用的寬度計算基於每個字元 8px。您可能需要根據輸入欄位的字型和樣式調整這些值。

示例

這是一個關於如何使用 JavaScript 自動調整輸入欄位寬度的完整工作示例:

<html>
<head>
   <style>
      #myInput {
        	font-size: 20px;
      }
   </style>
</head>
   <body>
      <input type="text" id="myInput">
      <script>
         // adjust width on initial load
         window.onload = adjustWidth;
         
         // Select the input field
         var inputField = document.querySelector("#myInput");
         
         // Add an event listener to the input field
         inputField.addEventListener("input", adjustWidth);
         
         // Function to adjust the width of the input field
         function adjustWidth() {
            var value = inputField.value;
            var width = value.length * 8 + 25; // 8px per character
            inputField.style.width = width + "px";
         }
      </script>
   </body>
</html>

更新於:2023年2月13日

8K+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.