大家好,又见面了,我是你们的朋友全栈君。
<div style="border:1px solid #fc0;height:24px;width:300px;" id="target"></div><br /> <input name="filltext" oninput="document.getElementById('target').innerHTML=this.value" id="filltext" type="text" />
onpropertychange事件,顾名思义,就是property(属性)change(改变)的时候,触发事件。这是IE专有的!如果想兼容其它浏览器,有个类似的事件,oninput!
可能大家会想到另外一个事件:onchange。
但是,onchange有两个弊端,一、就是它在触发对象失去焦点时,才触发onchange事件。二、如果得用javascript改变触发对象的属性时,并不能触发onchange事件,oninput也有这个问题。
onpropertychange会在设置disable=true的时候失效。而且,onpropertychange是在触发对象改变任何属性时都会触发。而oninput只是在改变input的value值时才触发。
oninput 事件:不但JS 改变 value 值时不能触发,有从浏览器的自动下拉提示中选值时,也不会触发。
onpropertychange触发函数只有一个默认参数,是所以可以触发属性的集合
<script type="text/javascript"> document.getElementById('filltext').attachEvent('onpropertychange',function(){ console.log(arguments.length); for(var i=0;i<arguments.length;i++) { console.log(arguments[i]); } }); </script>
看执行结果:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154381.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...