onpropertychange事件

onchange:1.它在觸發對象失去焦點時,才觸發onchange事件

                      2.如果得用javascript改變觸發對象的屬性時,並不能觸發onchange事件

onpropertychange:property(屬性)change(改變)的時候,觸發事件。這是IE專有的

                                    只要當前對象屬性發生改變,都會觸發事件

oninput:onpropertychange的非IE瀏覽器版本,支持firefox和opera等瀏覽器,支持IE11,

                 但有一點不同,它綁定於對象時,並非該對象所有屬性改變都能觸發事件,

                 它只在對象value值發生改變時奏效。

oninput 事件:不但JS 改變 value 值時不能觸發,有從瀏覽器的自動下拉提示中選值時,也不會觸發。

                          將oninput寫在JS代碼中分離出來時與普通事件註冊的方法有些不同,必須使用addEventListener來註冊。

                         document.getElementById("wb_comment_content").addEventListener("input",set_alert_wb_comment(),false);

oninput必須使用addEventListener來註冊事件。

oninput 事件在: IE9 以下版本不支持,需要使用 IE 特有的 onpropertychange 事件替代


oninput onpropertychange 這兩個事件在 IE9 中都有個小BUG,那就是通過右鍵菜單菜單中的剪切刪除命令刪除內容的時候不會觸發,而 IE 其他版本都是正常的,目前還沒有很好的解決方案。

attachEvent:爲某一事件附加其它的處理事件。

addEventListener: 用於 Mozilla系列

var btn1Obj = document.getElementById("btn1");
btn1Obj.attachEvent("onclick",method1);
btn1Obj.attachEvent("onclick",method2);
btn1Obj.attachEvent("onclick",method3);
執行順序爲method3->method2->method1 


如果是Mozilla系列,並不支持該方法,需要用到addEventListener
var btn1Obj = document.getElementById("btn1");
btn1Obj.addEventListener("click",method1,false);
btn1Obj.addEventListener("click",method2,false);
btn1Obj.addEventListener("click",method3,false);
執行順序爲method1->method2->method3
           

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章