1.onchange
弊端:1.元素失去焦点时触发
2.如果得用javascript改变触发对象的属性时,并不能触发onchange事件,oninput也有这个问题。
2.oninput 该事件在 <input> 或 <textarea> 元素的值发生改变时触发。
例:
<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>
该事件类似于 onchange 事件。不同之处在于 oninput 事件在元素值发生变化是立即触发, onchange 在元素失去焦点时触发。
IE9以下的浏览器是不支持oninput事件的。
不但JS 改变 value 值时不能触发,有从浏览器的自动下拉提示中选值时,也不会触发。
3.onpropertychange
property(属性)change(改变)的时候,触发事件。这是IE专有的!如果想兼容其它浏览器,有个类似的事件,oninput!
onpropertychange会在设置disable=true的时候失效。而且,onpropertychange是在触发对象改变任何属性时都会触发。而oninput只是在改变input的value值时才触发。
时间: 2024-11-18 11:38:17