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/n/370335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
DAGHGDAGHG
上一篇 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

发表回复

登录后才能评论