InputOnInput——一個實時輸入監聽的事件

在 Web 開發中,有許多種監聽用戶輸入的事件,如 keydown、keyup、input 等。其中 input 事件因其實時性能和兼容性的優勢,被廣泛使用。

一、基本介紹

InputOnInput 是一個實時輸入監聽的事件,每當文本輸入框中的內容改變時就會觸發它。它的監聽對象類似於 input,但是它監聽的是文本的輸入,而不是值的變化。

該事件支持 IE9 及其以上版本以及現代的瀏覽器(包括 Chrome 和 Firefox),在移動端的 Safari 和 Chrome 也得到了支持。

二、語法

<element oninput="myScript" />

或者

object.addEventListener("input", myScript);

其中,element 可以是所有支持輸入事件的 HTML 元素,而 myScript 則是輸入事件發生時需要執行的 JavaScript 代碼。

三、事件屬性

當 input 發生時,會觸發下列事件屬性:

  • event.inputType:用於表明輸入事件的類型,有以下幾種取值:
    • insertText:表示插入文本;
    • deleteContentBackward:表示刪除光標前面一個字符;
    • deleteWordBackward:表示刪除光標前面的一個單詞;
    • deleteSoftLineBackward:表示刪除光標前面到上一個換行符之間的所有內容;
    • deleteHardLineBackward:表示將光標移到前面一行(跨行刪除);
    • insertLineBreak:表示插入換行符;
    • insertParagraph:表示插入段落分隔符;
    • insertFromPaste:表示通過 Paste 粘貼操作插入內容;
    • insertFromDrop:表示通過 Drag and Drop 操作插入內容。
  • event.target.value:獲取輸入框中的值。
  • event.data:獲取最近插入的字符。
  • event.isComposing:表示用戶目前正在進行中的組合事件,如輸入法快捷鍵。

四、應用示例

1、動態顯示輸入字數

<textarea id="textarea" oninput="changeText()"></textarea>
<p id="num"></p>

<script>
  function changeText() {
    var text = document.getElementById("textarea").value;
    var length = text.length;
    document.getElementById("num").innerHTML = "已輸入" + length + "個字符";
  }
</script>

2、實時搜索

<input id="input" oninput="search()"/>
<ul id="list">
  <li>apple</li>
  <li>banana</li>
  <li>orange</li>
  <li>watermelon</li>
</ul>

<script>
  function search() {
    var input = document.getElementById("input").value;
    var list = document.getElementById("list");
    var items = list.getElementsByTagName("li");
    for (var i = 0; i < items.length; i++) {
      var item = items[i];
      if (item.innerHTML.indexOf(input) > -1) {
        item.style.display = "block";
      } else {
        item.style.display = "none";
      }
    }
  }
</script>

五、總結

通過 InputOnInput 事件,我們可以實現多種實時輸入監聽的應用。除了上述示例之外,還可以通過此事件實現即時聊天、實時計算預估等應用。在使用該事件時,需要注意兼容性和觸發頻率,避免觸發過於頻繁的輸入事件導致性能問題。

原創文章,作者:DAGHG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/370335.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
DAGHG的頭像DAGHG
上一篇 2025-04-20 13:09
下一篇 2025-04-20 13:09

相關推薦

  • 抖音外放親媽下葬事件的背後真相

    近期,一段抖音外放親媽下葬的視頻引發廣泛關注和熱議。不少人對這個事件感到震驚和憤怒,認為這種行為非常不尊重親人,觸犯了社會公德和家庭道德。但是,事情真相到底是什麼呢?我們有必要從多…

    編程 2025-04-28
  • cc.director.on事件監聽器

    本文將從多個方面詳細介紹Cocos Creator中的cc.director.on事件監聽器。 一、cc.director.on的作用和用法 cc.director.on是Coco…

    編程 2025-04-27
  • JavaScript點擊事件全方位指南

    一、click事件基礎 click事件是最常用的鼠標事件之一,當元素被單擊時觸發。click事件適用於大多數HTML元素(<a>、<button>)和SVG…

    編程 2025-04-25
  • 探究keyup和keydown事件

    一、介紹 在前端開發中,代碼執行通常與用戶操作有關。用戶操作中,常用的是鍵盤事件,其中keydown和keyup事件是最為常見的兩種。這兩種事件都可以用來監測用戶按鍵,但它們有不同…

    編程 2025-04-25
  • 詳解JavaScript onclick事件

    一、onclick的基礎知識 onclick事件是JavaScript中最常用的事件之一,它在用戶點擊某個HTML元素時觸發。通常我們可以通過給元素添加一個onclick屬性來綁定…

    編程 2025-04-25
  • CSS 事件穿透

    在 Web 開發中,CSS 負責網頁的樣式,而 JavaScript 負責網頁的行為。雖然兩者有不同的職責,但在實際的開發過程中,我們經常會遇到將二者結合起來的場景。比如需要通過 …

    編程 2025-04-25
  • onclick事件詳解

    實現交互功能是Web開發的重要部分,而onclick事件就是其中一個最常用的交互事件之一。在本文中,我們將從多個角度對onclick事件進行詳細闡述。 一、使用onclick事件實…

    編程 2025-04-24
  • 事件驅動模型

    一、事件驅動模型一般分為幾部分 事件驅動模型一般分為三部分: 1.事件源 2.事件對象 3.事件監聽器 事件源是指事件發起的對象,事件對象是指事件的具體內容,事件監聽器是用於處理事…

    編程 2025-04-24
  • Vue中的鼠標懸停事件Vue.onmouseover

    一、簡介 Vue建立在響應式和組件化的概念之上,並且包含許多內置的指令,其中就包含了v-on指令。v-on指令是Vue中非常重要的一個指令,用於綁定事件,並且它能夠根據事件類型,自…

    編程 2025-04-24
  • EL-Button 點擊事件全方位解析

    一、基本概念 EL-Button 是餓了么 UI 組件庫中的一個按鈕組件,具有多種類型和樣式。 二、點擊事件綁定 為 EL-Button 組件綁定點擊事件,可以使用 v-on 指令…

    編程 2025-04-23

發表回復

登錄後才能評論