jquery change事件 解析

2021-07-07 07:30:36 字數 829 閱讀 1186

oninput,onpropertychange,onchange的用法 l

onchange

觸發事件必須滿足兩個條件: a

)當前物件屬性改變,並且是由鍵盤或滑鼠事件激發的(指令碼觸發無效) b

)當前物件失去焦點(onblur); l

onpropertychange

的話,只要當前物件屬性發生改變,都會觸發事件,但是它是ie專屬的; l

oninput

是onpropertychange的非ie瀏覽器版本,支援firefox和opera等瀏覽器,但有一點不同,它繫結於物件時,並非該物件所有屬性改變都能觸發事件,它只在物件value值發生改變時奏效。

在textarea中,如果想捕獲使用者的鍵盤輸入,用onkeyup檢查事件就可以了,但是onkeyup並不支援複製和貼上,因此需要動態監測textarea中值的變化,這就需要onpropertychange(用在ie瀏覽器)和oninput(非ie瀏覽器)結合在一起使用了。

onpropertychange的bug

在**實現時,發現在響應使用者onclick了textarea時,如果使用obj.classname="xx";來改變textarea輸入框中字型的樣式,會導致在ie下會有在輸入第乙個字元的時候onpropertychange不會觸發的bug,因此需要這樣設定:obj.style.color="#000";

先說jquery, 使用 jquery 庫的話,只需要同時繫結 oninput 和 onpropertychange 兩個事件就可以了,示例**:

$('#username').bind('input propertychange', function() );

事件監聽和事件解綁

事件監聽 odiv.addeventlistener click function 布林值 預設為flase addeventlistener為新增事件監聽 click 這裡填的是要執行的事件 function 這裡填的是執行內容 布林值 預設為flase 這裡填ture或flase 停止事件傳播 ...

jQuery事件之解綁事件

selector unbind eventtype handler eventobject 返回值 jquery 引數解釋 handler eventobject 型別 function 如果把在bind時傳遞的處理函式作為第二個引數,則只有這個特定的時間處理函式會被刪除。作用 bind 的反向操作...

阻止Application End事件的解決方案

在做專案時,遇到同步 erp資料的問題,客戶要求是 程式中,設定乙個開始時間,再設定乙個時間間隔,讓程式每隔一段時間匯出銷售記錄,這個開始時間和時間間隔可以手動修改設定。這問題糾纏了我好幾天,總算解決了,寫文件記錄 首先,要讓程式定時執行任務,可以使用 asp.net 中的timer 計時,不過這個...