有关onpropertychange事件

<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>

看执行结果:

 

 

 

posted @ 2012-04-17 11:07  穆乙  阅读(...)  评论(...编辑  收藏