小码哥的IT人生

onchange 事件

JavaScript基础 2022-06-08 11:57:30小码哥的IT人生shichen

onchange 事件

实例

当用户更改 <select> 元素的所选选项时执行 JavaScript:

<select onchange="myFunction()">

完整实例:

<!DOCTYPE html>
<html>
<body>
<p>请从列表中选择一辆新车。</p>
<select id="mySelect" onchange="myFunction()">
  <option value="Audi">Audi</option>
  <option value="BMW">BMW</option>
  <option value="Mercedes">Mercedes</option>
  <option value="Volvo">Volvo</option>
</select>
<p>当您选择一辆新车时,会触发一个函数,输出所选汽车的值。</p>
<p id="demo"></p>
<script>
function myFunction() {
  var x = document.getElementById("mySelect").value;
  document.getElementById("demo").innerHTML = "You selected: " + x;
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

页面下方有更多 TIY 实例。

定义和用法

当元素的值发生改变时,会发生 onchange 事件。

对于单选框和复选框,在被选择的状态改变时,发生 onchange 事件。

提示:该事件类似于 oninput 事件。不同之处在于 oninput 事件在元素值改变后立即发生,而 onchange 在元素失去焦点而内容发生改变后发生。另一个区别是 onchange 事件也适用于 <select> 元素。

浏览器支持

事件 Chrome IE Firefox Safari Opera
onchange 支持 支持 支持 支持 支持

语法

在 HTML 中:

<element onchange="myScript">

完整实例:

<!DOCTYPE html>
<html>
<body>
<p>本例演示如何将 "onchange" 事件分配给 input 元素。</p>
请输入您的姓名:<input type="text" id="fname" onchange="myFunction()">
<p>当您离开输入字段时,会触发一个将输入文本转换为大写的函数。</p>
<script>
function myFunction() {
  var x = document.getElementById("fname");
  x.value = x.value.toUpperCase();
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

在 JavaScript 中:

object.onchange = function(){myScript};

完整实例:

<!DOCTYPE html>
<html>
<body>
<p>本例使用 HTML DOM 将 "onchange" 事件分配给输入元素。</p>
请输入您的姓名:<input type="text" id="fname">
<p>当您离开输入字段时,会触发一个将输入文本转换为大写的函数。</p>
<script>
document.getElementById("fname").onchange = function() {myFunction()};
function myFunction() {
  var x = document.getElementById("fname");
  x.value = x.value.toUpperCase();
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

在 JavaScript 中,使用 addEventListener() 方法:

object.addEventListener("change", myScript);

完整实例:

<!DOCTYPE html>
<html>
<body>
<p>本例使用 addEventListener() 方法将 "change" 事件附加到输入元素。</p>
请输入您的姓名:<input type="text" id="fname">
<p>当您离开输入字段时,会触发一个将输入文本转换为大写的函数。</p>
<script>
document.getElementById("fname").addEventListener("change", myFunction);
function myFunction() {
  var x = document.getElementById("fname");
  x.value = x.value.toUpperCase();
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

注释:Internet Explorer 8 或更早的版本不支持 addEventListener() 方法

技术细节

冒泡: 支持
可取消: 不支持
事件类型: Event
支持的 HTML 标签: <input type="checkbox">, <input type="color">, <input type="date">, <input type="datetime">, <input type="email">, <input type="file">, <input type="month">, <input type="number">, <input type="password">, <input type="radio">, <input type="range">, <input type="search">, <input type="tel">, <input type="text">, <input type="time">, <input type="url">, <input type="week">, <select> 以及 <textarea>
DOM 版本: Level 2 Events

更多实例

示例代码:

当用户修改输入字段的内容时执行 JavaScript:

<input type="text" onchange="myFunction()">

完整实例:

<!DOCTYPE html>
<html>
<body>
<p>修改输入字段中的文本,然后在字段外单击以触发 onchange 事件。</p>
请输入文本:<input type="text" name="txt" value="Hello" onchange="myFunction(this.value)">
<script>
function myFunction(val) {
  alert("The input value has changed. The new value is: " + val);
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024