oninput 事件

事件对象参考手册 事件对象

当用户向 <input> 中尝试输入时执行 JavaScript:

<p>在文本框中尝试输入触发函数。</p>
<input type="text" id="myInput" oninput="myFunction()">
<p id="demo"></p>
<script>
  function myFunction() {
    var x = document.getElementById("myInput").value;
    document.getElementById("demo").innerHTML = "你输入的是: " + x;
  }
</script>

尝试一下 »


定义和用法

oninput 事件在用户输入时触发。

该事件在 <input> 或 <textarea> 元素的值发生改变时触发。

提示: 该事件类似于 onchange 事件。不同之处在于 oninput 事件在元素值发生变化是立即触发, onchange 在元素失去焦点时触发。另外一点不同是 onchange 事件也可以作用于 <keygen> 和 <select> 元素。


浏览器支持

表格中的数字表示支持该事件的第一个浏览器的版本号。

事件
oninput Yes 9.0 4.0 5.0 Yes

语法

HTML 中:

<element oninput="myScript">
<p>该实例演示了如何向 input 元素中添加 "oninput" 事件。</p>
<p>向文本框中尝试输入即可触发事件。</p>
输入您的名字: <input type="text" value="Mickey" oninput="myFunction()">
<script>
  function myFunction() {
    alert("input 输入框值已发生变化。");
  }
</script>

尝试一下 »

JavaScript 中:

object.oninput = function() {
  myScript
};
<p>该实例演示了如何使用 HTML DOM 向 input 元素中添加 "oninput" 事件。</p>
<p>向文本框中尝试输入即可触发事件。</p>
输入您的名字: <input type="text" id="myInput" value="Mickey">
<script>
  document.getElementById("myInput").oninput = function() {
    myFunction()
  };

  function myFunction() {
    alert("input 输入框值已发生变化。");
  }
</script>

尝试一下 »

JavaScript 中, 使用 addEventListener() 方法:

object.addEventListener("input", myScript);
<p>该实例演示了如何使用 addEventListener() 方法向 input 元素中添加 "oninput" 事件。</p>
<p>向文本框中尝试输入即可触发事件。</p>
输入您的名字: <input type="text" id="myInput" value="Mickey">
<script>
  document.getElementById("myInput").addEventListener("input", myFunction);

  function myFunction() {
    alert("input 输入框值已发生变化。");
  }
</script>

尝试一下 »

注意: Internet Explorer 8 及更早 IE 版本不支持 addEventListener() 方法。


技术细节

是否支持冒泡: Yes
是否可以取消: No
事件类型: Event
支持的 HTML 标签: <input type="password">, <input type="search">, <input type="text"> 和 <textarea>

事件对象参考手册 事件对象