這篇文章主要介紹了js中的onchange和onpropertychange (onchange無效的解決方法),需要的朋友可以過來參考下,希望對大家有所幫助
筆者注:今天我在用到onchange事件時沒有任何反應,最後翻查資料才知道Onchange的局限性和不穩定性。而onpropertychange卻能很好的實現尤其是它的實時捕捉性能更是很值得用一下(幸虧有這個性能,做出的東西老板娘很滿意 o(∩_∩)o...)。 本人也比較懶,自己做的東西也懶的整理下來只能把搜索到的資料原版拿來個大家分享一下: IE下,當一個HTML元素的屬性改變的時候,都能通過 onpropertychange來捕獲。例如一個 <input name="text1" id="text1" /> 對象的value屬性被頁面的腳本修改的時候,onchange無法捕獲到,而onpropertychange卻能夠捕獲。(是實時性捕捉到的) 也就是說:onpropertychange能及時捕獲屬性值的變化,而onchange在屬性值改變時還必須使得當前元素失去焦點(onblur)才可以激活該事件! 如: 例1: 請輸入圖片地址: <input type="text" name="mytext" size="10" value="" onpropertychange="document.images['myimg'].src=this.value;" /> <img id="myimg" src="/img/common/logo.gif" alt="" /> 當text框中的內容被改變時,圖片就會立刻被顯示出來。而如果用onchange時,改變其值時還需用鼠標單擊空白或其他地方使input元素失去焦點(onblur)才能激活該事件,圖片顯示才會被改變! 例2: <INPUT id="image" style="WIDTH: 448px; HEIGHT: 22px" onpropertychange="preview.src=image.value" type="file" size="55" name="File1" runat="server"> <IMG id="preview" height="170" alt="" src="" width="256"> ---------------------------------------------------------------- onpropertychange事件太可愛了,我對它一見鐘情 onChange:當前元素失去焦點並且元素的內容發生改變而觸發的事件 [鼠標與鍵盤的觸發均可] 所以說當對象的value被腳本改變時不會觸發onChange事件,因為用戶即沒有動鼠標又沒動鍵盤.