onchange
属性会在元素的值发生更改时触发。
提示: 此事件类似于 oninput
事件。 不同之处在于,oninput
事件会在元素的值发生更改后立即发生,而 onchange
会在元素失去焦点时发生。 另一个区别是 onchange
事件也适用于 <select>
元素。
onchange
属性是 事件属性 的一部分,可用于任何 HTML 元素。
元素 | 事件 |
---|---|
所有 HTML 元素 | onchange |
当用户更改 <select> 元素的选定选项时执行 JavaScript:
<select onchange="myFunction()">
<select id="mySelect" onchange="myFunction()"> <option value="Audi">Audi <option value="BMW">BMW <option value="Mercedes">Mercedes <option value="Volvo">Volvo </select> <p> 当您选择一辆新车时,会触发一个函数,该函数会输出所选汽车的值。 </p> <p id="demo"></p> <script> function myFunction() { var x = document.getElementById("mySelect").value; document.getElementById("demo").innerHTML = "You selected: " + x; } </script>
当用户更改输入字段的内容时执行 JavaScript:
<input type="text" name="txt" value="Hello" onchange="myFunction(this.value)">
<p> 修改输入字段中的文本,然后在字段外单击以触发 onchange 事件。 </p> 输入一些文字:<input type="text" name="txt" value="Hello" onchange="myFunction(this.value)"> <p id="demo"></p> <script> function myFunction(val) { console.log('~~~') document.getElementById("demo").innerHTML = "输入值已更改。 新值是:" + val; } </script>
事件属性 | |||||
---|---|---|---|---|---|
onchange | Yes | Yes | Yes | Yes | Yes |