oninput 事件
oninput 事件
实例
当用户在 <input> 字段中写入内容时执行 JavaScript:
<input type="text" oninput="myFunction()">
完整实例:
<!DOCTYPE html>
<html>
<body>
<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 = "You wrote: " + x;
}
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
页面下方有更多 TIY 实例。
定义和用法
oninput 事件在元素获得用户输入时发生。
当 <input> 或 <textarea> 元素的值发生改变时,会发生此事件。
提示:此事件类似于 onchange 事件。不同之处在于 oninput 事件在元素值改变后立即发生,而 onchange 在元素失去焦点,且内容发生改变后发生。另一个区别是 onchange 事件也适用于 <select> 元素。
浏览器支持
表中的数字注明了完全支持该事件的首个浏览器版本。
事件 | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
oninput | 支持 | 9.0 | 4.0 | 5.0 | 支持 |
语法
在 HTML 中:
<element oninput="myScript">
完整实例:
<!DOCTYPE html>
<html>
<body>
<p>本例演示如何将 "oninput" 事件分配给 input 元素。</p>
<p>请在文本字段中写一些内容来触发函数。</p>
输入姓名:<input type="text" value="Mickey" oninput="myFunction()">
<script>
function myFunction() {
alert("The value of the input field was changed.");
}
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
在 JavaScript 中:
object.oninput = function(){myScript};
完整实例:
<!DOCTYPE html>
<html>
<body>
<p>本例使用 HTML DOM 将 "oninput" 事件分配给 input 元素。</p>
<p>请在文本字段中写一些内容来触发函数。</p>
Enter name: <input type="text" id="myInput" value="Mickey">
<script>
document.getElementById("myInput").oninput = function() {myFunction()};
function myFunction() {
alert("The value of the input field was changed.");
}
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
在 JavaScript 中,使用 addEventListener() 方法:
object.addEventListener("input", myScript);
完整实例:
<!DOCTYPE html>
<html>
<body>
<p>本例使用 addEventListener() 方法将 "input" 事件附加到 input 元素。</p>
<p>请在文本字段中写一些内容来触发函数。</p>
Enter name: <input type="text" id="myInput" value="Mickey">
<script>
document.getElementById("myInput").addEventListener("input", myFunction);
function myFunction() {
alert("The value of the input field was changed.");
}
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
注释:Internet Explorer 8 或更早的版本不支持 addEventListener() 方法。
技术细节
冒泡: | 支持 |
---|---|
可取消: | 不支持 |
事件类型: | Event, InputEvent |
支持的 HTML 标签: | <input type="color">, <input type="date">, <input type="datetime">, <input type="email">, <input type="month">, <input type="number">, <input type="password">, <input type="range">, <input type="search">, <input type="tel">, <input type="text">, <input type="time">, <input type="url">, <input type="week"> 以及 <textarea> |
DOM 版本: | Level 3 Events |
更多实例
范围滑块 - 如何动态更新滑块值:
<input type="range" oninput="myFunction(this.value)">
完整实例:
<!DOCTYPE html>
<html>
<body>
<p>本例演示如何使用 oninput 动态更新滑块值。</p>
<input type="range" oninput="myFunction(this.value)">
<p id="demo"></p>
<script>
function myFunction(val) {
document.getElementById("demo").innerHTML = val;
}
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html